11.6.2 关键字变量参数(字典)
关键字变量参数应该为函数定义的最后一个参数,带**。
关键字和非关键字可变长参数都有可能用在同一个函数中,只要关键字字典是最后一个参数并且非关键字元组先于它之前出现。
>>> def newfoo(arg1, arg2, *nkw, **kw):
... print "Firsr arg: ", arg1
... print "Second arg: ", arg2
... print "No keyword args: "
... for arg in nkw:
... print " ", arg
... print "keyword args: "
... for arg_key in kw.keys():
... print " ", kw[arg_key]
...
>>> newfoo(11, 22, 33, '44', '55', a='a', b='b', c=88 )
Firsr arg: 11
Second arg: 22
No keyword args:
33
44
55
keyword args:
a
88
b
>>>
11.6.3 调用带有可变长参数对象函数
>>> newfoo(1, 2, 3, a = 4, *(5, 6, 7), **{'b':8, 'c':9, 'd':10})
Firsr arg: 1
Second arg: 2
No keyword args:
3
5
6
7
keyword args:
4
9
8
10
>>>
注意我们的元组和字典参数仅仅是被调用函数中最终接收的元组和字典的子集。额外的非关键字值‘3’以及‘x’和‘y’关键字对也被包含在最终的参数列表中,而它们不是‘*'和'**'的可变参数中的元素。
11.7 函数式编程
11.7.1 匿名函数与lambda
lambda [arg1 [,arg2 ... argN]] : expression
python允许用lambda关键字创建匿名函数,匿名是因为不需要以标准的方式来声明。
这个表达式的定义体必须和声明放在同一行。
参数是

被折叠的 条评论
为什么被折叠?



