资讯动态

Python 函数参数简单总结

发布时间:2026/10/7 7:03:39 来源:尧图企业网站定制
顺序普通 → 默认 →*args→ 关键字-only →**kwargs。*后只能关键字传**kwargs必须最后。默认参数用None代替可变对象。一、五种参数类型类型写法说明位置参数a必须传按位置或关键字默认参数b2可省略不传用默认值可变位置参数*args收集多余位置参数 →元组关键字-only 参数*后的c只能用c值传可变关键字参数**kwargs收集多余关键字参数 →字典二、定义顺序固定不能乱位置参数 → 默认参数 → *args → 关键字-only → **kwargsdef func(a, b2, *args, c, d3, **kwargs):pass三、谁必须传谁可省略参数必须传普通位置参数a✅ 必须默认参数b2❌ 可省*args❌ 可省空元组关键字-only 无默认c✅ 必须c值关键字-only 有默认d3❌ 可省**kwargs❌ 可省空字典四、调用时实参顺序位置参数 → *拆包 → 关键字参数 → **拆包func(1, 2, *[3,4], x5, **{y:6}) # ✅func(x5, 1, 2) # ❌ 位置参数不能在关键字后五、注意事项默认参数必须在普通参数后面def f(a1, b): # ❌ SyntaxError默认参数别用可变对象[]、{}def f(x, lst[]): # ❌ 默认列表只创建一次被共享def f(x, lstNone): # ✅ 用 None 代替*后面的参数只能关键字传pythondef f(a, *, b): pass f(1, 2) # ❌ b 不能按位置传 f(1, b2) # ✅**kwargs必须放最后后面不能再有参数def f(**kwargs, a): # ❌ SyntaxError*args收位置**kwargs收关键字*args→ 元组**kwargs→ 字典别混args/kwargs只是名字关键是*和**global和nonlocal与参数无关别混用函数内给参数赋值不影响外部参数是局部变量除非参数是可变对象且原地修改六、示例def func(a, b2, *args, c, d3, **kwargs):print(a, b, args, c, d, kwargs)func(1, c4) # 1 2 () 4 3 {}func(1,5,6,7, c8) # 1 5 (6,7) 8 3 {}func(1, c4, d9, x10) # 1 2 () 4 9 {x:10}

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑