# 此示例示意函数作为参数传递
def f1():
print("f1函数被调用")
def f2():
print("f2函数被调用")
def fx(fn):
print("fn绑定的函数是:", fn)
# 在fx内调用fn绑定的函数
fn()
fx(f1) # 调用fx,把f1作为实参传数
fx(f2) # 用fx间接调用f2
# 此示例示意函数的嵌套定义
def get_func(value):
if value == 1:
def myadd(x, y):
return x + y
return myadd
elif value == 2:
def mysub(x, y):
return x - y
return mysub
fx = get_func(1)
print(fx(400, 300)) # 700
fx = get_func(2)
print(fx(400, 300)) # 100
# global_local_variable.py
# 此示例用来说明全局变量和局部变量的作用域范围及生命周期
a = 100
b = 200
def fn(c):
d = 400
# print(a, b, c, d) # 有错,此时a变量还不存在
a = 500 # 用来创建一个局部变量,
print(a, b, c, d) # 500, 200, 300, 400
fn(300)
print('a =', a) # 100
print('b =', b)
# global_statement.py
# 以下示例示意global语句的用法
v = 100
def fx():
global v # 声明v为全局变量,不是局部变量
v = 200 # 想修改全局的v怎么办?
fx()
print(v) # 200
# 4. global变量列表里的变量名不能出现在此作用域内的形参列表里
def f1(v):
global v
print(v)
f1(300)