您的当前位置:首页正文

python函数实例应用案例

2021-06-23 来源:易榕旅网
python函数实例应⽤案例

⼀、函数的⽤法1. 函数可以做赋值

def func():

print('from func')f=func()

2.函数可以当做参数被调⽤3.可以放⼊列表等当中

1 l=[func,] #作为元素时,函数名不加括号2 l[0]() #调⽤

View Code4.案例1:

  1)⼩⽩写的程序 

1 def login():

2 print('登录功能') 3 def transfer():

4 print('转账功能') 5 def select():

6 print('查询余额') 7 while True: 8 print('''' 9 0 退出10 1 登录11 2 转账

12 3 查询余额13 ''')

14 chice=input('请输⼊命令编号:').strip()15 if not chice.isdigit():16 continue17 if chice=='0':18 break

19 elif chice=='1':20 login()

21 elif chice=='2':22 transfer()23 elif chice == '3':24 select()25 else:

26 print('输⼊指令不存在')

View Code

  2)我进⼀步优化(程序写死后添加功能不⽅便,⼀个功能写⼀个函数)

1 def login():

2 print('登录功能') 3 def transfer():

4 print('转账功能') 5 def select():

6 print('查询余额') 7 func_dict={ 8 '1':login, 9 '2':transfer,10 '3':select11 }

12 while True:13 print(''''14 0 退出15 1 登录16 2 转账

17 3 查询余额18 ''')

19 chice=input('请输⼊命令编号:').strip()20 # if not chice.isdigit():

21 # continue22 # if chice=='0':23 # break

24 # elif chice=='1':25 # login()

26 # elif chice=='2':27 # transfer()28 # elif chice == '3':29 # select()30 # else:

31 # print('输⼊指令不存在')32 if chice in func_dict.keys():33 func_dict[chice]()34 else:

35 print('输⼊指令不存在')

View Code  3)⾼⼿的优化

1 def login():

2 print('登录功能') 3 def transfer():

4 print('转账功能') 5 def select():

6 print('查询余额') 7 func_dict={

8 '0':['退出',None], 9 '1':['登录',login],10 '2':['转账',transfer],11 '3':['查询余额',select]12 }

13 while True:14 # print(''''15 # 0 退出16 # 1 登录17 # 2 转账18 # 3 查询余额19 # ''')

20 for k in func_dict: #解放以上print内容21 print(k,func_dict[k][0])

22 chice=input('请输⼊命令编号:').strip()23 # if not chice.isdigit():24 # continue25 if chice=='0':26 break

27 # elif chice=='1':28 # login()

29 # elif chice=='2':30 # transfer()31 # elif chice == '3':32 # select()33 # else:

34 # print('输⼊指令不存在')35 if chice in func_dict.keys():36 func_dict[chice][1]()37 else:

38 print('输⼊指令不存在')

View Code

5.函数的嵌套调⽤及定义

1 def bijiao():

2 # 对4个数字⽐较⼤⼩ 3 def max2(x,y): 4 if x>y: 5 return x 6 else:

7 return y

8 def max4(a,b,c,d): 9 res1=max2(a,b)10 res2=max2(res1,c)11 res3=max2(res2,d)12 return res3

View Code

优点:减少代码量,清晰明了

⼆、闭包函数

      闭包函数=名称空间与作⽤域+函数嵌套+函数对象 (核⼼点:名字的查找关系是以函数定义阶段为准)  1.闭包的解释

    ‘闭’指的是该函数在函数内部;

    “包”指的是该函数包含对外层函数作⽤域名字(外不函数的变量)的引⽤;   2.定义闭包函数

    内部函数可以实现在外部调⽤。

1 def f1():2 x=222223 def f2():4 print(x)

5 return f2 View Code

#不管函数怎么调⽤,f2调⽤的永远是f1当中的变量,f2可以在任何地⽅调⽤

因篇幅问题不能全部显示,请点此查看更多更全内容