
3. lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
4. 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
5. 语法:
lambda [arg1 [,arg2,.....argn]]:expression
6. 举例:
name='xiaoli'
def change_name(x):
return name+'_sm'
func=lambda x:x+'_sm'
res=func(name)
print('匿名函数的结果是:',res)
结果:
匿名函数的结果是:xiaoli_sm
func = lambda x,y,z:x+y+z
res = func(10,15,18)
print('匿名函数的运行结果:',res)
结果:
匿名函数的运行结果:43
func = lambda x,y,z:(x+2,y+1,z+5)
res = func(10,15,18)
print('匿名函数的运行结果:',res)
结果:
匿名函数的运行结果:(12, 16, 23)
函数的作用域
def foo():
name = 'majun'
def bar():
name = 'mmj'
def tt():
print(name)
return tt
return bar
bar = foo()
tt = bar()
print(tt)
tt()
foo()()()
结果:
<function foo.<locals>.bar.<locals>.tt at 0x012F9850>
mmj
mmj
转载请注明:XAMPP中文组官网 » Ptyhon入门学习基础-ptyhon匿名函数作用域