- # 有局部变量
- name = "laskas"
- def test():
- name = "aele"
- print(name)
- test()
- # 无局部变量
- name = "asd"
- def test():
- print(name)
- test()
- # 有 global 关键字
- name = "asas"
- def test():
- global name
- name = "aele"
- print(name)
- test()
- # 无 global 关键字
- name = "ale"
- def test():
- name = "aele"
- print(name)
- test()
- # 可使用列表, 字典的方法
- a = [11,2,33]
- def test():
- a.append("123")
- print(a)
- test()
- # 位置参数
- def tsta(x,y,z):
- print(x)
- print(y)
- print(z)
- tsta(1,2,3)
- # 关键字参数
- def tsta(x,y,z):
- print(x)
- print(y)
- print(z)
- tsta(x=1,y=2,z=3)
- # 位置参数, 关键字参数, 位置参数一定要在关键字左边
- def tsta(x,y,z):
- print(x)
- print(y)
- print(z)
- tsta(1,2,3)
- # *args 列表 **kwargs 字典
- def tsta(x,*args,**kwargs):
- print(x)
- print(args)
- print(kwargs)
- tsta(1,*[2,2,3,4],**{"qwe":1})
- # nonlocal, 指定上一级变量, 如果没有就继续往上直到找到为止
- name = "alws"
- def trst():
- name = "asda"
- def tre():
- nonlocal name
- name = "alede"
- print(name)
- tre()
- print(name)
- trst()
- print(name)
- # 函数可嵌套函数
- # 全局变量大写
- # 局部变量小写
来源: http://www.bubuko.com/infodetail-3516370.html