'''
函数中阶
'''
'''
可变长参数:
*args #用元组接收多余的位置实参,调用函数时,有多少 个位置实参,就接收多少个参数
**kwargs #用字典接收多余的关键字实参
'''
#python中一切皆对象
'''
函数名()就是在调用该函数.
1.引用(拷贝)
2.当作容器类元素
3.当作函数的参数
4.当作函数的返回值
'''
#函数的嵌套:函数里面有函数
'''
定义函数,只检测语法,不会执行代码
函数内部定义的函数,外部不能用
'''
#名称空间和作用域
'''
内置名称空间:存储了内置方法的名称
数据类型自带内置方法
python解释器自带内置方法
全局名称空间:除了内置和局部都叫全局
局部名称空间:函数内部定义的都叫局部
'''
#名称空间的执行顺序:从内置到全局再到局部
'''
1.内置名称空间:python解释器启动的时候就有了
2.全局名称空间:执行文件代码的时候都会有全局
3.局部名称空间:调用函数的时候才会有局部
'''
#名称空间的搜索顺序:先从当前位置开始寻找,找不到再按照:局部到全局到内置,最后找不到报错
'''
作用域
全局作用域:内置名称空间+全局名称空间
局部作用域:局部名称空间
全局作用域和局部作用域的变量x没有任何关系;
即使同一局部作用域下的局部作用域1和局部作用域2的变量x也没有任何关系
所有可变数据类型均可打破上述一切规则
'''