第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > python3函数的参数:必选参数(位置参数) 默认参数 可变参数 关键字参数 命名关键字参数

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

时间:2019-09-28 14:25:07

相关推荐

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通过传参,现在值为4fn4(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解构传入

更多详细扩展,强烈推荐廖雪峰:函数的参数详解(详细,详细,详细)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。