- 任何编程语言函数都是非常重要的一部分,而在进行函数调用时,了解函数的参数传递方式是非常有必要的。Python中支持哪些传参方式呢?
-
Python中的传参方式是比较灵活的,主要包括以下六种:
- 按照位置传参
- 按照关键字传参
- 默认参数
- 元组传参
- 字典传参
- 综合传参
1. 按照位置传参
顾名思义,实参与形参数目一致,并且是按照位置一一对应的。
def func(a,b):
return a+b*2
当调用函数func(1,2)时,则按照a=1,b=2的方式形参与实参对应,返回结果为5。
2.按照关键字传参
这种方式在调用函数时既传实参,也传形参。因而,不需要根据位置对应了,位置可以颠倒:
def func(a,b):
return a+b*2
当调⽤函数f unc(b=1,a=2)时,则按照b=1,a=2的⽅式形参与实参对应,匹配的⽅式是关键字⽽⾮位置,返回结果为4。
3.默认参数
默认参数必须放在前两类参数之后,在调用函数的时候可以传参,也可以不传。不传则采用默认的参数值。
def func(a,b,c = 3):
return a+b*2+c
其中,c为默认参数。当通过func(1,2)调用函数时,c的取值为默认值3,函数的执行结果为8;当通过func(1,2,5)调用函数时,c的取值为实参值5,函数的执行结果为10。
4.元组传参
传入的参数以元组的形式呈现,长度不限,可以通过元组的访问方式依次访问各个入参:
def func(*args):
for eacharg in args:
print('tuple arg:',eacharg)
调用方式如下:func('I', 'Love', 'PythonSomething')
`输出结果:
tuple arg: I
tuple arg: Love
tuple arg: PythonSomething`
5.字典传参
传入的参数以字典的形式呈现,长度不限,可以通过字典的访问方式依次访问各个入参:
def func(**kwargs):
for eachkwarg in kwargs.keys():
print('Dict Arg',eachkwarg,':',kwargs[eachkwarg])
`调用方式如下:
func(English_name = 'PythonSomething', Chinese_name= 'Python那些事')`
`输出结果:
Dict Arg English_name : PythonSomething
Dict Arg Chinese_name : Python那些事
`
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。