首页 > 编程语言 > 详细

初识python - 函数(二)

时间:2019-09-01 22:27:52      阅读:93      评论:0      收藏:0      [点我收藏+]

5.3 函数小高级

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)

 

初识python - 函数(二)

原文:https://www.cnblogs.com/jhui104/p/11443816.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!