1.形参
概念:形参就是定义中的形式参数,只有被赋值时才有实际意义
2.实参
概念:实际使用函数时传入的值
例如:
def haihai(n1,n2):
print("hello world")
haha(1,2)
例子中的n1和n2为形参,最后一行代码的1和2为实参即实际传入的值
3.默认值参数(缺省参数)
概念:在定义函数时就被赋值的参数,当函数调用时,这个参数有传入值时使用传入值,没有传入值时使用默认值
def haihai(n1,n2=1):
print("hello world")
haha(1)
注意:默认值参数只能出现在参数列表的最右侧
4.位置参数
概念:使用位置参数时,实参的顺序要和形参的顺序一样,在没有默认值的情况下,参数的个数也要一致
def power(x,y):
a = 1
while y > 0:
s = s * x
y = y - 1
return s
power(2,3)
5.关键字参数
概念:在定义形参时,可以把每个参数当做key
将形参的名字写上,按照赋值语句的方式传递,当全是关键字实参时,没有顺序要求
注意:位置方式和关键字方式可以混用,混用时,位置参数需在前面,关键字参数只能在位置参数
def show(n,s):
while n > 0:
for i in s:
print(i)
n = n - 1
show(s = 'hello',n = 2)
6.不定长位置参数
概念:在参数名称前加 * (例如:*par),可以通过*par接受多个不确定个数的位置参数
def power(*a):
i = 1
for x in a:
i *= x
print(i)
power(1,2,3,4)
7.不定长关键字参数
概念:在参数名称前加 **(例如:**par),**par在参数中定义了该形参后,那可以通过**par接收多个不确定个数的关键字参数
def power(**a):
print(a)
power(a = 1,b = 2,c = 3,d = 4)
注意:如果函数的参数想要接收任意类型和个数,则定义格式为def 函数名称(*par,**pars):
8.混合参数
如果有很多个值都是不定长参数,那么这种情况下,可以将缺省参数放到*par后面,但如果有**pars时,**pars必须放在最后
def func(a,b,c,d,*par,e=1,f=2,**pars):
函数体代码