11.11函数对象,名称空间,作用域,命名关键字参数

函数对象

函数是一个对象
函数名可以被引用
函数名可以当做一个参数进行传参
函数名也可以当成返回值,但是不能加括号,不然会直接调用函数
函数名可以当做容器类的元素

函数的嵌套

就是函数内部定义或调用函数

def x():
    print('x')
    def y():
        print('y')
    y()
x()

名称空间

内置名称空间

python解释器自带的名称空间,开机就有了

全局名称空间

打开python解释器后就形成的名称空间,

局部名称空间

函数内部的名称空间

查找顺序

先从局部查找,在查找全局,在查找内置,没有就报错

作用域

全局作用域

除了局部就是全局

局部作用域

函数内部的都叫做局部作用域
全局的数据和局部是不互通的,但是可变数据类型可以打破这个规则
global:可以让局部变量变为全局变量
nonlocal:可以让外局部变量变为内局部变量

命名关键字参数

定义在位置形参与关键字形参之间
给命名关键字参数传值时候一定要以关键字形式传值
关键字参数一定不能在位置参数前面

猜你喜欢

转载自www.cnblogs.com/793564949liu/p/11839037.html