函数的参数总结

参数的类型函数的定义函数的调用备注
位置参数
将序列中的每个元素都转换为位置实参使用*
关键字实参
将字典中的每个键值对都转换为关键字实参使用**
默认值形参
关键字形参使用*
个数可变的位置形参使用*
个数可变的关键字形参使用**
def fun(a, b, c):  # a, b, c 在函数的定义处,所以是形式参数
    print(a, b, c)


# 函数的调用
fun(10, 20, 30)  # 函数调用时的参数传递,称为位置传参

lst = [11, 22, 33] 
fun(*lst)   # *表示在函数调用时,将列表中的每个元素都转换为位置实参传入

fun(a=100, c=300, b=200)  # 函数的调用,所以是关键字实参

dic = {'a': 100, 'b': 222, 'c': 555}
fun(**dic)  # **表示在函数调用时,将字典中的键值对都转换为关键字实参传入

10 20 30
11 22 33
100 200 300
100 222 555



def fun(a, b=10):  # b在函数定义处,所以b是实参,进行赋值表现为默认值形参
    print(a, b)


def fun2(*args):  # 个数可变的位置形参
    print(args)


def fun3(**args):  # 个数可变的关键字形参
    print(args)


fun2(10, 20, 30, 40)
fun3(a=11, b=22, c=33, d=44)

(10, 20, 30, 40)
{'a': 11, 'b': 22, 'c': 33, 'd': 44}



def fun4(a, b, c, d):
    print(a, b, c, d)


# 调用fun4函数
fun4(10, 20, 30, 40)  # 位置实参传递
fun4(a=10, b=20, c=30, d=40)  # 关键字实参传递
fun4(10, 20, c=30, d=40)  # 前两个是位置实参传递,后两个是关键字实参传递

10 20 30 40
10 20 30 40
10 20 30 40



def fun4(a, b, *, c, d):  # 从*之后的参数,在函数调用时,只能采用关键字参数传递
    print(a, b, c, d)


fun4(a=10, b=20, c=30, d=40)
fun4(10, 20, c=30, d=40)

10 20 30 40
10 20 30 40



# 函数定义处的形参的顺序问题
def fun5(a, b, *, c, d, **args):
    pass


def fun6(*args, **args2):
    pass


def fun7(a, b=10, *args, **args2):
    pass
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蛰伏GR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值