#全局变量与局部变量
定义在外部的变量都是全局变量
#在函数体中写 global name#声明这个局部变量name跟外部已经存在的全局变量name是一致的。
name = 'hans'#必须存在,不然global不能用,强用会报错
def chang():
global name#跟c++的引用差不多是一个操行
name = 'faker'
chang()
print(name)
name = ['faker','is']
def test():
name.append('sb')#如果调用的是可变的类型,可以调用函数直接修改(不重新定义的话)
print(name)
test()
print(name)
result:
['faker', 'is', 'sb']
['faker', 'is', 'sb']
注意啦。如果 name = 'xxx'
global name#如果这样写会报错的。
#原则:全局变量全大写,局部变量全小写
nonlocal name#指定的是上一级的变量,也就是说,在本函数中就能对上一级的变量进行修改等操作。如果只有两级(全局和局部) 则不能用nonlocal,不然会报错。
def test1():#解释器读这个,知道了里面有test1函数,把test1函数的所有内容放入内存,知道了拟接受的参数表
print('faker ',end='')
foo()
def foo():#解释器读这个,知道了里面有foo函数,把foo函数的所有内容放入内存,知道了foo的拟接受的参数表
print('is a sb')
test1()
result:
faker is a sb
林海峰的风湿理论:函数既变量 理解理解就好,别当真。 就是帮助人理解复杂的函数递归的。
递归特性:
1、必须要有一个明确的结束条件
2、每次进入更深一层递归时,问题规模相比上次递归都应有所减少
3、递归效率不高
调试流程: 下断点,debug
day15
猜你喜欢
转载自blog.csdn.net/weixin_41687289/article/details/80009063
今日推荐
周排行