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()
posted @ 2019-09-08 10:33  手可摘星辰。  阅读(211)  评论(0编辑  收藏  举报