python基础

600阅读 0评论2016-06-05 TT小饭
分类:Python/Ruby


python的执行过程:
    文件---加载进内存---解释器:词法分析、语法分析---编译器---字节码----机器码---cpu执行

#!/usr/bin/env python

python默认按ascII码读取文本(ascII表示不了中文)
#-*- coding:utf-8-*-
#coding:utf-8

硬盘----X----unicode码(最少16位表示)
硬盘---------utf-8码(最少用8位表示,解决了unicode资源浪费的情况)

python的注释:
    #
    """ """

python编译:
    py------pyc
  
字符串:
    字符串一但修改会在内存中重写开辟一个空间
   所以字符串拼接时 如果使用 + 号会大量开辟空闲空间

输入:
    raw_input("please input a str:")

getpass模块:
    import getpass
    pwd=getpass.getpass("please input your password:")

流程控制:
    if name == "xiaofan"
        print name
    elif name == "tt":
        xxxx
    else:
        xxxxx

python会自动处理输入的数据类型。

字符串拼接(格式化输出)(不会多次开辟空间):
    name = "I am  %s , age %d" %("xiaofan",23)
   name1= "I am {0} , age {1}"
    name1.format("xiaofan",23)

strip() 去除空格:
    >>> name=" xifoan "
    >>> name.strip()
    'xifoan'
    >>> name.lstrip()
    'xifoan '
    >>> name.rstrip()
    ' xifoan'


创建列表:
    >>> list1=['nginx','apache','tomcat','php']
    >>> list2=list(['kepalived','heardbead','drbd'])

字符串----列表:
    >>> name="nginx,haproxy,lvs"
    >>> name.split(',')
    ['nginx', 'haproxy', 'lvs']

修改列表不会重新分配一个内存空间。

字符串追加:
    name.append("F5")

删除字符串:
    del name[0]

列表-----字符串:
    >>> list1
    ['nginx', 'apache', 'tomcat', 'php']
    >>> '_'.join(list1)
    'nginx_apache_tomcat_php'

元祖:(不可变列表)(tuple)

for循环:
    for ele in list1:
        if ele == "nginx":
            print "web soft"
            break

continue:(退出当前循环进入下一轮循环)

字典:dict , {}
    dict1.keys() 
    #所有key的列表
    dict1.values()
    #所有值的列表
    dict.items()
    #所有元素

    for ele in dict1:
        print ele
    
    for k,v in dict1.items():
        print k
        print v


文件操作:
    r+  读写
    w+ 写读(很坑,会冲掉原来的文件)

    f = open("xx.txt","r+")
    f.read()
    #一次读取全部内容到内存
    f.readlines().strip()
    #每次只读一行
    for line in f:
        print line
    #每次只读一行
    f.write("xxxx")
    #写入内容
    f.close()
    #关闭文件句柄



上一篇:keepalived + lvs_DR 实现lvs高可用
下一篇:python基础2