1)条件判断与循环
if ...: .... .... else: ....
for xx in yy: ... while xx: ...
2) dict 和 set:
dict:
{key:val} 使用key-value存储,具有极快的查找速度,key是不可变的
和list比较,dict有以下几个特点: 查找和插入的速度极快,不会随着key的增加而增加; 需要占用大量的内存,内存浪费多
set:
key的组合.([key,key,key]) []并不代表是一个list,重复元素会被过滤
3)函数
def 定义
函数的参数:
默认参数:在定义函数的时候,就赋予了一个默认值。Note:默认参数必须在后面,默认参数必须指向不变对象,否则你一调用就会改变默认参数的值
可变参数:*numbers 在下面调用参数的时候还是用numbers。不过在函数内部这个numbers是一个tuple。不是一个个数值
关键字参数:**kw kw接受的是一个dict,也就是传说的字典。拥有key and value
def person(name,age,**kw): print ‘name:‘name,‘age:‘age,‘other:‘kw
参数组合:顺序很重要 必选参数,默认参数,可变参数,关键字参数
递归函数:
有一个if 来终止递归。否则在else里面不断调用自己。
4)高级特性
切片:list and tuple a[1:3]截取从1开始 到3结束 不包括3.等于 == >[1,3)
迭代:for循环
for key in value: print key
列表生成器:[] 表达式或者说是一个式子 式子中参数的表达式或者说是来源
import os [d for d in os.listdir(‘.‘)]
generator函数:
使用()
在循环的过程中不断推算出后续的元素,节省空间
如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator
generator与函数不一样的地方在于,函数式顺序执行的。遇到return返回。下一次在这样。而generator则是不一样的,每次调用next()才执行。遇到yield就会返回,下次从这个yield的地方再次执行。
时间: 2024-11-03 03:46:37