Fork me on GitHub

【基础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)

 试着调用这个函数,输出如下: 

 

 

 

 

 

posted @ 2021-12-20 17:12  橘子偏爱橙子  阅读(38)  评论(0编辑  收藏  举报