1.形参与实参

形参:参数本身没有意义,有实参赋予形参值后,该形参就具备了意义
补充:有默认值的形参,在没有被实参赋值,具备的是自身意义,但一旦被实参赋值,意义同实参

实参:有实际意义的参数
           在函数调用的时候,()中传入的参数

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

实参分为:位置实参,关键字实参

总结:形参是对实参的值拷贝

 

2.形参的分类

六大分类:
1.无值位置形参(位置形参):可以被位置与关键字实参进行传参,必须传值

2.有值位置形参(默认形参):可以被位置与关键字实参进行传参,可以不用传参采用默认值

3.可变长位置形参:可以接受前两个没有接收完位置实参,接收的个数可以为0~n个,0个是就是空元组

4.无值关键字形参:只能由关键字实参进行传参,必须传值

5.有值关键字形参:只能由关键字实参进行传参,可以不用传参采用默认值

 6.可变长关键字形参:接收4,5没有接收完的关键字实参,接收的个数可以为0~n个,0个是就是空字典

形参声明顺序:
             位置形参:a -> 默认形参:b -> 可变长位置形参:args -> 有无默认值关键字形参:cde -> 可变长关键字形参:kwargs。
            def fn(a, b=10, *args, c, d=20, e, **kwargs): pass

 使用法则:
1.所有位置形参全部采用位置实参进行传值
2.所有关键字形参全部采用关键字实参进行传值
3.不管位置还是关键字形参,全部按照顺序进行传参

 

3.打散机制

 *单列容器 会打散单列容器,字符串也可以被打散
 **双列容器 会打散双列容器

def fn(*args, **kwargs):

*单列容器返回的是元组

**双列容器返回的是字典

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄