python基础知识--函数传参之位置参数,关键字参数,默认参数,可变参数详解

本文详细介绍了Python函数的各种参数类型,包括位置参数、关键字参数、默认参数、元组参数及字典参数等,并提供了丰富的代码实例。

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

位置参数

代码展示

def a(b, c):
    print(f"第一个参数是:{b},第二个参数是:{c}")


a(20, 30)
a(30, 20)

运行结果展示

第一个参数是:20,第二个参数是:30
第一个参数是:30,第二个参数是:20

总结

通过以上代码展示,第一位置的实参对应着函数第一个位置的形参,同理,第二个位置的实参对应着第二个位置的形参。所以位置参数就是实参传递的顺序按照形参定义的顺序进行传递的传参方式。

关键字参数

代码展示

def a(b, c):
    print(f"第一个参数是:{b},第二个参数是:{c}")


a(c=20, b=30)

运行结果展示

第一个参数是:30,第二个参数是:20

总结

通过以上代码展示,函数传参使用 形参名=实参 的形式传参不需要按照形参的顺序传参,python会自动帮我们找到 形参的位置 然后对应上相应的实参。

位置参数与关键字参数混用

代码展示

def a(b, c, e):
    print(f"第一个参数是:{b},第二个参数是:{c}, 第三个参数是:{e}")


a(20, e=30, c=40)

运行结果展示

第一个参数是:20,第二个参数是:40, 第三个参数是:30

总结

如果有位置参数混入关键字参数中,那么关键字参数必须写在位置参数后面。否则报错。

默认参数

代码展示

def a(b=777, c=888):
    print(f"第一个参数:{b},第二个参数:{c}")


a()

a(10)

a(10, 20)

运行结果展示

第一个参数:777,第二个参数:888
第一个参数:10,第二个参数:888
第一个参数:10,第二个参数:20

总结

通过以上代码展示,定义函数时,我i们给形参一个默认值,在我们调用函数的时候,如果不给有默认值的形参传参,会自动采用默认值,如果给有默认值的形参传参则覆盖默认值。

可变参数

元组参数

元组参数代码展示

# 元组参数 *args
def a(*args):
    print(args)


a(123)
a(*"xiangyang")
a(*(1, 3, 5, 7))
a(*[1, 3, 5, 7])
a(*{1, 3, 5, 7})
a(*{"name": "xy", "age": 500})

元组参数代码运行结果展示

(123,)
('x', 'i', 'a', 'n', 'g', 'y', 'a', 'n', 'g')
(1, 3, 5, 7)
(1, 3, 5, 7)
(1, 3, 5, 7)
('name', 'age')

元组参数总结

用法:通过给形参前面添加使参数变成一个元组,所有传递的参数变成元组的元素
注意: args参数名称可以任意命名,但是一般我们叫他 args。
通过以上代码,使用
args元组参数作为形参时,无论我们传什么类型的实参最终都会转化为元组。

字典参数

字典参数代码展示

# 字典参数 **kwargs
def d(**kwargs):
    print(kwargs)


d(name="jy")
d(name="jy", age=20)

字典参数运行结果展示

{'name': 'jy'}
{'name': 'jy', 'age': 20}

字典参数总结

用法:通过给形参前面添加**使参数变成一个字典,所有传递的参数变成字典的键值对,这里传参要求 键=值 的形式传参。
注意:**kwargs结果类型是字典,传递值是以key=value方式传入

函数参数总结(重点)

函数参数总结:
定义函数参数时的顺序:位置参数,元组参数, 默认参数,字典参数

def a(b, *args, c=777, **kwargs):
    print(b, args, c, kwargs)


a(10, *(1, 3, 5, 7), name="jy")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值