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()
#关闭文件句柄