局部变量和全局变量
name = 'lhf' #全局变量
def change_name() :
name = '帅的一笔' #局部变量
print('change_name',name)
global——引用全局变量,一切操作都针对全局变量
1、如果函数的内容无global关键字,优先读取局部变量,全局变量只能做读取操作,无法对全局变量重新赋值。使用内置方法时,同样遵循此规律;
2、如果函数中有global关键字,变量本质上就是全局变量,可读取可赋值;
3、不可以先产生局部变量,再调用全局变量
在编写代码时,全局变量名通常大写,局部变量名通常小写
函数嵌套
NAME = '海风'
def huangwei() :
name = "黄伟"
print(name)
def liuyang() :
name = "刘洋"
print(name)
def nulige() :
name = "胡志华"
print(name)
print(name)
nulige()
liuyang()
huangwei()
风湿理论:函数即变量
函数的递归调用
def calc(n) :
print(n)
calc(n)
递归特性:
- 必须有一个明确的结束条件
- 每次进入更深一层递归时,问题规模相比上一次递归应有所减少
- 递归效率不高,递归层次过多会导致栈溢出