1.全局变量与局部变量
global关键字
如果无global关键字,优先读取局部变量,然后读取全局变量,修改不影响全局变量。对可变变量进行修改。
如果有global关键字,就会读取和修改全局变量
nonlocal上一级变量
2. 函数即变量
3. 函数递归
必须有一个明确的结束条件
每次进入更深一层递归时,问题规模要比上一次简单
递归效率不高,很容易内存溢出
4. 函数作用域
test()#函数
test#函数地址
def foo():
name = 'lhf'
def bar():
name = 'wpq'
def tt():
print(name)
return tt
return bar
bar = foo()
tt = bar()
tt()
foo()()()
5. 匿名函数
lambda x,y:x+y#一句话函数
6.函数式编程
不用变量保存状态,不修改变量
函数即变量
高阶函数:把函数名当做参数传给另一个函数, 或者返回值中包含函数
global关键字
如果无global关键字,优先读取局部变量,然后读取全局变量,修改不影响全局变量。对可变变量进行修改。
如果有global关键字,就会读取和修改全局变量
nonlocal上一级变量
2. 函数即变量
3. 函数递归
必须有一个明确的结束条件
每次进入更深一层递归时,问题规模要比上一次简单
递归效率不高,很容易内存溢出
4. 函数作用域
test()#函数
test#函数地址
def foo():
name = 'lhf'
def bar():
name = 'wpq'
def tt():
print(name)
return tt
return bar
bar = foo()
tt = bar()
tt()
foo()()()
5. 匿名函数
lambda x,y:x+y#一句话函数
6.函数式编程
不用变量保存状态,不修改变量
函数即变量
高阶函数:把函数名当做参数传给另一个函数, 或者返回值中包含函数