python 函数参数 必选参数 默认参数 可变参数 关键字参数

本文详细解读了Python函数中必选参数、默认参数、*args和**kwargs的使用规则,并通过实例演示了它们的用法和注意事项。理解这些概念有助于避免常见语法错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python函数参数如下

1:必选参数

2:默认参数

3:可变参数 *args

4:关键字参数 **kwargs

默认参数必须在必选参数后面 为什么??

例子如下

def xx(a,b=3,c):
    print(a,b,c)
xx(1,2)
  # 出错这里你想的是把a赋值为1 c赋值为2 实际上是a=1,b重新赋值为2

SyntaxError: non-default argument follows default argument

def xx(b=3,a):
    print(a,b)
xx(2)
#这里你想的是给a赋值为2,但是b在前面所以b重新赋值为2

SyntaxError: non-default argument follows default argument

为了解决这个迷惑问题python规定默认参数必须在必选参数后面


可变参数*args 有两个功能打包和分包功能

举例打包:

def xx(a,*b,c=3):
    print(a)
    print(b)
    print(type(b))
    print(c)
xx(4,5,6,7)    #将5,6,7打包成元组传给参数b,b为元组

结果为:

4
(5, 6, 7)
<class 'tuple'>
3

举例分包

x=[5,6,7,8]
def xx(a,b,c,d,e):
    print(a,b,c,d,e)
xx(4,*x) #这里*x 把x中每个元素分给b,c,d, e

结果为4,5,6,7,8


关键字参数

key值必须为字符串

关键字参数打包

def xx(a,b=3,**c):
    print(a,b,c)
xx(4,nb='33',sb='44')

运行结果

4 3 {'nb': '33', 'sb': '44'}

关键字参数分包

y={'b':44,'c':[1,2,3,4],'d':88}
def xx(a,b,c,d=3):
    print(a,b,c,d)
xx(4,**y)

运行结果

4 44 [1, 2, 3, 4] 88

大家可以根据我这代码自我进行实验,摸清python语法规则 本文章发表个人观点,不对的地方欢迎指出。

喜欢的点波关注,点赞一下  么么哒么么

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

䔴䔴䔴

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

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

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

打赏作者

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

抵扣说明:

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

余额充值