Date: 2018.6.22
一、参考
http://www.javashuo.com/article/p-viwtmpqh-co.htmlcss
二、Python函数参数用法
函数参数:必选参数、默认参数、可变参数、关键字参数html
(1)必选参数:顾名思义,就是函数必须有的入参;
(2)默认参数:在函数定义时给定一个初始值,在函数调用时能够不传这个参数,采用默认参数的值;下例中的y就是默认参数;python
def add(x,y=5): sum = x + y return sum
注意:设置默认参数时,必选参数在前,默认参数在后!函数
(3)可选参数:顾名思义,函数参数的个数是可变的,例以下面的numbers就是可变参数。spa
def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * n return sum
(4)关键字参数:可选参数容许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数容许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。请看示例:code
def person(name, age, **kw): print('name:', name, 'age:', age, 'other:', kw)
函数person除了必选参数name和age外,还接受关键字参数kw。在调用该函数时,能够只传入必选参数:htm
person('Michael', 30) name: Michael age: 30 other: {}
也能够传入任意个数的关键字参数:对象
person('Bob', 35, city='Beijing') name: Bob age: 35 other: {'city': 'Beijing'} person('Adam', 45, gender='M', job='Engineer') name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
小结:
函数参数的用法是很是灵活的,既能够简单调用,也能够传入复杂的参数。
默认参数必定要用不可变对象,若是是可变对象,程序运行时会有逻辑错误!
要注意定义可变参数和关键字参数的语法:
*args是可变参数,args接收的是一个tuple;
**kw是关键字参数,kw接收的是一个dict。blog
—————————————–我是有底线的——————————————–ci