函数参数详解

论坛 期权论坛 脚本     
已经匿名di用户   2022-4-20 22:06   1151   0
函数的参数:定义在函数后面的括号中定义的参数叫形参,调用函数的时候传入的数据叫实参。

函数参数的分类:
实参分类:
1、位置传参:通过位置按顺序传递
2、关键字传参:通过参数名指定参数进行传递

形参的分类:
1、必备参数/必需参数:定义几个就要传几个
2、默认参数(缺省参数):可传可不传,不传的情况下使用默认值.
3、不定长参数
    *args:接收0个或多个位置参数
    **kwargs:接收0个或多个关键字参数
def add_number(a, b):
    print("a:", a)
    print("b:", b)
    #print("a+b的结果:", a + b)
    return a + b

#通过位置传参

# 位置传参/位置参数
res = add_number(11, 22)
# 关键字传参/关键字参数
#add_number(b=100, a=99)

=======================================================

def func3(a, b, c):
    print("a:", a)
    print("b:", b)
    print("c:", c)

func3(11, c=100, b=99)
# 注意点:如果同时使用关键字和位置参数,位置参数写前面,关键字参数写后面,否则报错

=======================================================

# 默认参数(缺省参数)
def func4(a, b, c=None):
    print("a:", a)
    print("b:", b)
    print("c:", c)
func4(111, 22)
#func4(111, 22,33) #运行结果 111,22,33
非注释区运行结果:
a: 111
b: 22
c: None 
#必备参数定义几个就要传几个
def func4(a, b, c):
    print("a:", a)
    print("b:", b)
    print("c:", c)
func4("89", [111, 22], {"a": 1})
# 不定长参数:两个**kwargs可以放字典,一个*args 放元组和列表
def func4(a, b, c, *args, **kwargs):
    print("a:", a)
    print("b:", b)
    print("c:", c)
    print(args)
    #print(kwargs)
func4(11, 22, 33, 1, 1)
运行结果:
a: 11
b: 22
c: 33
(1, 1)
---------------------------------------------
def func4(a, b, c, *args, **kwargs):
    print("a:", a)
    print("b:", b)
    print("c:", c)
    print(kwargs)
func4(a=1, b=2, c=3, d=4, f=5)

运行结果:
a: 1
b: 2
c: 3
{'d': 4, 'f': 5}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP