list,atuple,dict,set
list 列表
atuple 元组 元组不可修改
dict 字典 相当于哈希表
set 就是set 内容不重复,可以进行交、并、差运算,intersection、union、difference,分别是获取两个set的交集,并集和两个set不同的元素
for循环
for x in list:
print x
for index,x in enumerate(list):
#同时返回index和值
for i in range(0,10):
if i == 12:
print 'found'
else:
print 'not found'
- 列表解析
cube = [x ** 3 for x in range(4)]
adict = {'one':1}
cube = {key+'_cube':value ** 3 for key,value in adict.items()}
- 文件
open,file 打开文件
fp = open(filename,'rb')
fp = file(filename,'rb')
fp.close()
with open(filename,access_mode) as fp:
#推荐使用这种方式 不用担心忘记关闭文件
- 错误和异常
try except [finally]
try:
fp = open(..)
except IOError,ioe:
ioe.strerror
ioe.errorno
finally:
#最好用用finally
- 函数
可变对象都是引用传递,不可变的都是值传递
def name(x,y=1):
return x + y
name(1)
name(1,2)
#不传递参数则使用默认值
- 类
class FooClass(object): #object表示父类
version = 0.1 #类属性
def __init__(self,name='no name'):
#初始化方法
self.name = name
#实例方法中第一个参数必须是self
def showname(self):
......
- 模块
import sys
sys.stdout.write() #向标准输出写一句话
sys.platform #获取系统参数
'win64'
- 实用函数
import sys
dir(sys) #显示对象的属性
help(sys) #显示文档的帮助
int(obj) #将一个对象转换成int
len(obj) #获取对象长度
range(start,stop,[step]) #开始,结束,步长
raw_input([str]) #等待用户输入
str(obj) #转换成字符串,调用类的__str__方法
type(obj) #查看obj的类型,返回值是一个type对象
- 字符编码解码
u = str.encode() //将字符串编码成byte对象
str = u.decode([gb2312,utf-8]) #将byte解码成字符串
获取传入参数
sys.argv 数组包含用户传入参数输入输出
print()
print >> sys.stderr,string //将string以报错的形式打印出来