【基础08】【自学笔记】python函数参数
函数的参数
形参和实参
所谓形参,就是函数定义中的参数,形参在函数体内可以使用,而实参,则出现在调用过程中
def print_diamond(count):
for i in range(count):
print(i)
print_diamond(11)
上面的代码中,函数定义中的count就是形参,而最后一行的代码中,11就是实参,形参代表一种形式,实参,是实际的具体的起作用的数据。
参数分类:
必传参数(位置参数) 、默认参数、关键字参数、可变参数
1. 必传参数(位置参数)
调用函数时必须要指定的参数,在定义时没有等号
def my_print(content, count):
for i in range(count):
print(content)
my_print('ok', 2)
调用函数的时候, 在调用函数时,你必须传入两个值,否则就会报错
def my_print(content, count):
for i in range(count):
print(content)
my_print( 2)
2. 默认参数
>>> def demo_func(b=10): ... print(b) ... >>> demo_func(20) 20 >>> demo_func() 10
>>调用函数时,可以指定也可以不指定,不指定默认为10
>>定义函数是时,如果有多个默认参数,他们必须放置在参数列表的最后,不允许在中间放置一个必传参数。
3. 关键字参数
调用时,使用 key=value 形式传参的,这样传递参数就可以不按定义顺序来
def func(a,b,c=0, d=1):
print(a,b,c,d)
# 关键字参数传参方法
func(a=10,c=100,b=20)
4.可变参数
参数个数可变,可以是 0 个或者任意个,但是传参时不能指定参数名,通常使用 *args 和 **kw 来表示:
-
*args:接收到的所有按照位置参数方式传递进来的参数,是一个元组类型 -
**kw:接收到的所有按照关键字参数方式传递进来的参数,是一个字典类型
def fac(*args,**kw):
print(args)
print(kw)
fac(1,2,a="cs",b=1234)
结果:
上面的知识点串起来,四种参数类型可以在一个函数中出现,但一定要注意顺序
def demo_func(arg1, arg2=10, *args, **kw):
print("arg1: ", arg1)
print("arg2: ", arg2)
print("args: ", args)
print("kw: ", kw)
demo_func(1,12, 100, 200, d=1000, e=2000)
试着调用这个函数,输出如下: