python3函数的参数:必选参数(位置参数)、默认参数、可变参数、关键字参数、命名关键字参数

了解python函数的参数,是阅读各种库和源码的必需技能,请认真学习并掌握。

1、位置参数

def fn1(a):
    pass
def fn2(a,b):
    pass

msg: pass是占位符,当没有具体功能时,可以使用pass,不会使函数报错

上方函数fn1、fn2里的参数都是位置参数,调用时必须给入对应数量的实参,否则会报错



2、默认参数

def fn3(a,b=1,c=2):
    pass
def fn4(a,b,c=1,d=2):
    pass

msg:python函数的几种参数可以任意组合,但必须按顺序写,否则会报错,顺序为(位置参数,默认参数,可变参数,命名关键字参数,关键字参数)

上方函数fn3的形参b和c 、 fn4的形参c和d就是默认参数,调用时若不给实参,将会使用默认值

默认参数传值方式:

fn3(1,c=4); //a=1,b=1,c=4 #函数fn3的参数a值为1,b没有传参使用默认值1,c通过传参,现在值为4
fn4(1,2,d=5,c=3); //a=1,b=2,c=3.d=5 #函数fn4的参数a值为1,b值为2,c通过传参,现在值为3,d通过传参,值为5;        请注意:c和d的位置虽然调换了,但并不影响传值,

扩展:百度搜索 python默认函数的坑,这里有一个面试时大几率碰到的面试题




3、可变参数:

# *c是可变参数
def fn5(a,b=1,*c): 
    pass

# *b也是可变参数
def fn6(a,*b):
    pass

msg:python函数的几种参数可以任意组合,但必须按顺序写,否则会报错,顺序为(位置参数,默认参数,可变参数,命名关键字参数,关键字参数)

可变参数传参:

#可变参数就是传入的参数数量是可变的,可以是多个,也可以是0个
#这里有一个扩展,请百度搜索python参数解构
fn5(1,b=2,*[3,4,5]) #把list解构并传入

fn6(1,*(3,4,5)) #把tuple解构传入
更多详细扩展,强烈推荐廖雪峰: 函数的参数详解(详细,详细,详细)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值