a = 123
name = '老男孩好'
nums = [11,22,33,4]
data = nums
def func():
pass # 100行代码
# func = 函数
5.3.1函数名当变量来使用
def func():
print(123)
v1 = func
func()
v1()
def func():
print(123)
func_list = [func, func, func]
# func_list[0]()
# func_list[1]()
# func_list[2]()
for item in func_list:
v = item()
print(v)
def func():
print(123)
def bar():
print(666)
info = {'k1': func, 'k2': bar}
info['k1']()
info['k2']()
混淆
def func():
return 123
func_list1 = [func,func,func]
func_list2 = [func(),func(),func()]
print(func_list1)
print(func_list2)
info = {
'k1':func,
'k2':func(),
}
print(info)
5.3.2函数可以当做参数进行传参
def func(arg):
print(arg)
func(1)
func([1,2,3,4])
def show():
return 999
func(show)
def func(arg):
v1 = arg()
print(v1)
def show():
print(666)
func(show)
def func(arg):
v1 = arg()
print(v1)
def show():
print(666)
result = func(show)
print(result)
5.3.3 lambda表达式
用于表达简单的函数。
# 三元运算,为了解决简单的if else的情况,如:
if 1 == 1:
a = 123
else:
a = 456
a = 123 if 1 == 1 else 456
# lambda表达式,为了解决简单函数的情况,如:
def func(a1,a2):
return a1 + 100
func = lambda a1,a2: a1+100
#lanbda+三元运算
func5 = lambda n1,n2: n1 if n1 > n2 else n2
v = func5(1111,2)
print(v)