嵌套函数和作用域和匿名函数

Posted davidz

tags:

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

#嵌套函数
def func1():
    print(alex)
    def func2():
        print(eric)
    func2()
func1()
#===>1、函数内部可以再次定义函数。2、执行需要被调用

age = 19
def func1():
    print(age)
    def func2():
        print(age)
    func2() #==>19
func1()  #==》19
#由内而外调用直
age = 19
def func1():
    print(age)
    def func2():
        age = 99
        print(age)
    func2() #==>99
func1()  #==》19
#内部有值,先调用内部的


作用域:
#作用域
#在Python中,函数就是一个作用域{JaveScript},局部变量放置在其作用域中
#C# Jave中作用域{}
#代码定义完成后,作用域已经生成,作用域链向上查找
age = 18
def func1():
    age = 73
    def func2():
        age=19
        print(age)
    return func2
val = func1()
print(val)
val()

匿名函数:
#匿名函数

# def func(x,y):
#     if x>y:
#         return x*y #普通函数
#     else:
#         return x/y
# print(func(3,8))
#
# a = lambda x,y:x*y if x>y else x/y#声明一个匿名函数
# print(a)
# print(a(3,8))


data = list(range(10))
print(data)
for index,i in enumerate (data):
    data[index] = i*i
print (data)

# def f2(n):
#     return n*n
print(list(map(lambda x:x*x,data))) #用匿名函数就节省了代码

#1,节省代码量
#2,看着高级

 

 

 

 







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

10 函数进阶 动态传参 作用域和名称空间 函数的嵌套 全局变量

动态传参,作用域和函数嵌套

简述JS的作用域和闭包

python函数基础:嵌套函数作用域匿名函数递归函数

作用域和作用域链

函数作用域和列表常用操作