Python-09_02函数参数类型、函数嵌套

1、Python函数参数类型:必备参数、关键字参数、缺省参数、任意个数参数。

必备参数须以正确的顺序传入函数,也叫做位置参数,即参数是通过位置进行匹配的,从左到右,依次进行匹配,这个对参数的位置和个数都有严格的要求。

1 #函数参数类型必备、关键字、缺省参数、任意个数参数
 2 #必备参数
 3 def pri(a,b):
 4     print(a,end = ' ')
 5     print(b)
 6 pri('hello','world')
 7 
 8 
 9 #关键字参数是针对实参
10 pri(b='world',a='hello')
11 
12 
13 #缺省参数,默认值参数(如果存在默认值与非默认值参数,那么默认值参数放置到最后!!!)
14 def add(num1=10,num2=20):            #注意:(num1=10,num2)会报错,必须(num2,num1=10)默认值参数放到后面
15     print(num1+num2)
16 add()                                #如果实参没有值,则使用默认参数
17 add(15)                              #如果只传一个,一一对应
18 add(20,23)                           #如果都传,一一对应
19 
20 #收集参数(不定长参数)
21 #第一种  *开头  元组类型 不定长参数放最后
22 def pri1(a,*b):
23     print(type(b))
24     print(b)
25 #pri1(10)   #0个b的参数
26 pri1(10,20) #1个b的参数
27 pri1(10,20,30,50,-10,20)    #5个b的参数
28 
29 
30 #第二种 **开头  字典类型  不定长参数放最后
31 def pri2(a,**b):
32     print(type(b))
33     print(b)
34 pri2(10)
35 pri2(10,b='20',c='30',d='hello')           #不能写a =‘10’,因为a是第一个形参名字,注意!!!

2、函数的嵌套:

 1 #第三章第10节函数的嵌套
 2 #函数的嵌套
 3 #形式一:
 4 def max(x,y):
 5     return x if x > y else y
 6 
 7 def maxs(a,b,c,d):
 8     res1 = max(a,b)           #函数的嵌套调用
 9     res2 = max(res1,c)        #函数的嵌套调用
10     res3 = max(res2,d)        #函数的嵌套调用
11     return res3
12 
13 print(maxs(10,3,443,345))
14 
15 #形式二:在函数中定义一个新函数
16 def f1():
17     def f2():
18         print('f2')
19         def f3():
20             print('f3')
21         f3()                 #函数内部定义的函数,必须在主函数这层调用才能使用
22     print('f1')
23     f2()                     #函数内部定义的函数,必须在主函数这层调用才能使用
24 f1()                         #函数内部定义的函数,必须在主函数这层调用才能使用
25 #f2()                        #这样会报错
26 #f3()                        #这样会报错

 

posted @ 2022-08-22 10:36  TesterWei  阅读(95)  评论(0编辑  收藏  举报