*args 动态位置参数
**kwargs 动态默认参数(关键字)
形参:位置参数>动态位置参数>默认参数>动态默认参数
实参:默认参数>关键字参数
定义的时候 *和**都是聚合
函数体和实参 *和**都是打散 实参中字典的键不能使用数字
def 函数名():
"""
注释信息
return
"""
函数体
函数名._doc_ 查看注释内容
函数名._name_ 查看函数名称
加载顺序:
内置空间
全局空间
局部空间
取值顺序(就近原则)
局部空间
全局空间
作用域
全局作用域: 全局+内置
局部作用域:局部
不管在什么位置,只要是函数名()就是在调用函数
global:只修改全局变量,如果没有全局变量就会创建一个新的
nonlocal:只修改局部变量,修改离声明nonlocal 最近的一层,上一层没有继续向上上层查找.只限在局部,找不到就报错
?
def foo():
global a
a = 10
print(a)
foo()
print(a) ## 没有全局变量,但是global创建了一个
原文:https://www.cnblogs.com/womenzt/p/12260852.html