变量特点 a b的id是一样的 a=1 b=1 print id(a) print id(b) print "sssss",5 预算符 ** 平方 a=int(raw_input("input number")); type(num) num=111默认存储为int num=11111L 强制转换为long num=3.14j 虚部complex str1='sssss'或者"sssss" 字符串:切片a[开始位置:结束位置:步长] 元组() 内容不可变 如果只有一个元素需要a=(2,)否则按照变量处理 可以通过下标获得元素,但是某个元素不能修改内容 列表[] 切片可以修改 只有一个元素不用像元组一样(2,) 和元组变量区别:修改后元组和变量的内存地址是修改的,但是元组和C++中的数组一样修改后内存地址是不改变的 函数操作:list1.append(***) 添加元素 list1.remove(***) 或 del(list1[2])删除元素 字典 无序的和C++中STL中的map应该是一样的 是哈希类型的 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; key + value 的形式!!! 操作:del dict['Name']; # 删除键是'Name'的条目 dict.clear(); # 清空词典所有条目 dict.get(5,"error") #获取5对应的值,如果没有返回“error” dict.keys() #返回字典的key dict.value #返回字典的value dict.item #内容 del dict ; # 删除词典 del dict['***'] # 删除某个键值对 del.pop('***') #弹出某个键值对 dict[**]= #插入 遍历 for k in dict print k #输出key 当然也可以输出对应的value for k,v in dict.item(): *** 类和对象 for x in range(开始,终止值(不包含),步长值)或者其他sequence 太占内存 可以用xrange for **** else #正常结束执行,否则不执行 比如针对break while *** else #和上面for一样 if *** pass 占位 对比于break和continue exit() #coding utf8 print "%s %s" % x , y 参数传值 fun(name="name",age=0) 调用 fun("zsw",22) 或者 fun(name='zsw',age=22) 或者调整顺序 fun(age=22,name="zsw") 或者元组 t=('zsw',22) fun(*t) 或者字典 dict1={'age':22,'name':'zsw'} fun(**dict1) key需要和形参一样否则报错 解决多余参数传值 fun(x,*args) 这里的args是元组 用来存放剩余的参数 fun(1,2,3,4,5) 或者 def fun(x,*args,**dict1): print x print args print dict1 fun(1,2,3,4,5) print "*"*10 fun(x=1,y=2,c=3) fun(1,2,3,4,5,y=10,s="asdf") lambda表达式 快速定义单行函数 样例1: g = lambda x,y,x:z 冒号前是参数,后面师返回值 调用 g(1,2,3) 样例2: def f(x,y): return x*y print reduce(f,[1,2,3,4,5]) #reduce 每次默认取两个值 实现阶乘 print reduce(lambda x,y:x*y,[1,2,3,4,5]) switch语句实现:用字典 from __future__ import division def add(x,y): return x+y def sub(x,y): return x-y def multi(x,y): return x*y def devid(x,y): return x/y operator = {"+":add,"-":sub,"*":multi,"/":devid} print operator["/"](2,3) print operator.get("/")(2,3) print devid(2,3) 常用 内置函数 print "$$$$$$$$"*5 print callable(min) #查看是否可以调用 print type(operator) print isinstance(operator,dict) print cmp("aaa","bbb") print range(10) print xrange(10) string 常用函数: filter() 过滤函数 zip() 将多个列表整合成元组,返回组合后的列表 每一个元素是元组 map() 和zip相似有点区别 reduce() 样例: def f(x,y): return x*y print reduce(f,[1,2,3,4,5]) #reduce 每次默认取两个值 实现阶乘 模块: 代码封装,当一个.py文件导入其他文件时,就叫做模块 模块是一个可以导入的Python脚本文件 包是一堆按目录组织的模块和子包,目录下的__init__.py文件存放了包的信息 可以用import,import as ,form import等语句导入模块和包