1.函数定义及参数
def fib(n=2,a=1):#参数可以有默认值
"""这里给函数写文档注释"""
for i in range(n):
print a
>>>f=fib #可以用一个变量表示函数
>>>f(3)
1
1
1
|
2.lambda函数,一种无名函数的速写法
def make_incrementor(n):
return lambda x: x+n
f=make_incrementor(n)
#f等价于
#def f(x):
# return x+n
|
3.不定长参数,*para,**para
参数格式为 *para 表示接受一个元组,为 **para 表示接受一个字典,*para要在**para之前
def test(*args,**dic):
for arg in args :
print arg
for k,v in dic.iteritems():
print k ,':',v
|
4.@装饰器,@A
def B:pass
等价于
def B:pass
B=A(B)
即将函数B作为参数传给参数A
5. 生成器表达式:类似于没有中括号的列表推导式,可用在参数中
>>>sum(i*i for i in range(10))
285
|
6.yield,每次调用返回一个值,并记录当前执行位置所有的变量
def reverse(data):
for index in range(len(data)-1,-1,-1):
yield data[index]
for char in reverse("golf"):
print char,
|
阅读(1325) | 评论(1) | 转发(0) |