python_函数高级
1.函数名当变量来使用
def func(): print('wdc') # 可以将函数赋值给变量 v1 = func v1() func()
def func():
print('wdc')
# 可以将函数放入列表,通过列表索引后面加括号执行
func_list = [func,func,func]
func_list[0]()
func_list[1]()
func_list[2]()
def func():
print('wdc')
# 可以将函数放入列表,通过for循环后面加括号执行
func_list = [func,func,func]
for item in func_list:
item()
def func():
print('wdc')
# 函数也可以放在集合中,但不能放一样的,否则会自动去重,只执行一次
func_list = {func,func,func}
for item in func_list:
item()
def func():
print('wdc')
# 函数也可以放在自动重,索引加括号执行
info = {'k1':func,'k2':func}
info['k1']()
info['k2']()
####函数可以当作字典的KEY,但一般不用
2.函数可以当作参数进行传递
def func(arg): print(arg) def show(): return 999 # 传递函数show的地址 func(show)
def func(arg):
# show 的地址加括号 等于show(),相当于直接调用函数show
v1 = arg()
# 因为show未返回值,所以v1的值为None
print(v1)
def show():
print(666)
# 参数传递show的地址
func(show)
3.函数做返回值
def func(): print(123) def bar(): return func v = bar() # v是返回的函数名,输出是函数地址 print(v) # 给函数名加括号,等于执行返回的函数func() v()