函数的作用域与匿名函数

Posted lzjdsg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数的作用域与匿名函数相关的知识,希望对你有一定的参考价值。

1.函数作用域:从内到外寻找


def test():
name = ‘Mike‘
def test1():
name = ‘John‘
def test2():
name = ‘Jack‘
print(name)
return test2
return test1
print(test()) #只是打印出test1的内存地址
a = test()
a() # = test()() 运行test1
b = a()
b() # = test()()()运行test2 打印出jack

2.匿名函数:表示方法:lambda  形参:返回值

如果没有定义变量接收匿名函数,则匿名函数不会被内存处理,无意义

匿名函数形式简单,能进行的操作比较局限,仅限于数字运算,字符串增减,布尔值的判断以及多个变量简单处理等等

匿名函数通常不单独使用,与其他内置函数一起使用

1 a = lambda x:x**2
2 a1 = a(28)
3 print(a1)
4 b = lambda x:x+我爱你!
5 b1 = b(中国)
6 print(b1)
7 c = lambda x,y,z:(x**2,y+z)
8 c1 = c(12,123,222)  #注意多个变量处理时返回值要用括号括起
9 print(c1)

 














以上是关于函数的作用域与匿名函数的主要内容,如果未能解决你的问题,请参考以下文章

函数作用域与执行上下文

函数作用域与名称空间

02_作用域与执行上下文区别

作用域与变量提升

js函数3-作用域与作用域链

es6记录之一——块级作用域与函数声明