今天偶然想到了看到一篇文章是讲参数的,忽然忘记了python中参数的种类了,就复习一下
python函数定义非常简单,灵活度很大,除了正常定义使用的必选参数,还可以使用默认参数,
可变参数,关键字参数,代码就可以大大简化。
位置参数
最基本的参数
def print(x):
print(x)
对于上面的参数,就是一个位置参数当我们在调用print函数是,必须传入而且只能传入一个参数。
同样的,想传入多个参数,传入的参数会按照顺序赋值。
默认参数
有时候,比如我们想打印一个数字好几遍
def print(x,n)
for i in range(n):
print(x)
这样就做到了打印一个数字n遍,但是此时我们如果还想只打印一遍的话,这样不就比原来复杂了吗?
这时候默认参数就起到了作用,如果一个参数平时一般不会改变,个别时候才需要自定义的时候,就可以使用默认参数
def print(x,n = 1)
for i in range(n):
print(x)
这样如果不传入第二个参数的话,就默认只打印一遍。
需要注意的是
1.默认参数必须放在必选参数的后面,如果放在前面,函数怎么确定你穿的是默认参数还是必选参数。
当然有多个默认参数是,要想准确地制定,就必须写成 参数名=具体数值 的形式
2.默认参数必须指向不变对象
可变参数
可变参数 顾名思义,就是传入参数的个数是可以变化的。既可以是1,2,3,4个,也可以是零个。
定义为可变参数地方法是在前面加一个*
def print(x,*number)
print(x)
for i in range(number):
print(x)
前面加一个*,函数在接收这个参数的时候,就会接收到一个列表,列表的长度是随意变化的
关键字参数
既然上面的可变参数是将一个list传入函数,那么相应的,有没有一种参数是传入一个字典呢,答案当然是有的,就是关键字参数。
前面加两个**就告诉了函数传入关键字参数。