python中参数的类型有位置参数、默认参数、可变参数、关键字参数、命名关键字参数和一些参数的组合.
位置参数:
def power(x):
return x*x
其中x就是位置参数。
默认参数:能简化函数的调用,但需要注意几点:
1、必选参数在前,默认参数在后,否则python参数会报错
2、当函数有多个参数的时候,把变化大的参数放在前面,变化小的参数可做为默认参数
3、默认参数必须指向不变对象
比如:l=[],时候特别注意,参数虽然定义为空的list,但l的值指向上一次l的值。
return l
避免默认参数的改变,可做如下修改:
if l is None:
l.append("END")
-------------------------------------------------------------------------------------------------------------------------
可变参数:就是传入的参数不确定,可能是一个或者多个,,参数的传递可传入一个list或者dict,简化的话参数前面使用*
关键字参数允许传入0个或任意个含参数名的参数,这些参数自动组装为一个list.
for n in number:
sum=sum+n
return sum
---------------------------------------------------------------------------------------------------------------------------
关键字参数:关键字参数允许传入0个或任意个含参数名的参数,这些参数自动组装为一个dict.
def person(name,age,**kw):
print("name:",name,"age:",age,"others:",kw)
参数的传递过程中,如果只传递必选参数,关键字参数默认为{}
person("MAKE",23,city="beijing")
命名关键字参数:
参数的组合:参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。