(Python3)参数传递

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011978079/article/details/89322625

1、按位置传递,典型参数传递方式

def func(a,b,c):
    print(a,b,c)

func(1,2,3)

#输出 1 2 3

2、参数名传递(关键字传递)

#参数名传递参数可以不按顺序传递
def func(a,b,c):
    print(a,b,c)

func(10,c=30,b=20)
#输出 10 20 30

3、参数设置默认值

def func(a=10,b=20,c=30):
    print(a,b,c)

func()
#输出 10 20 30

func(1,b=100)
#输出 1 100 30

4、包裹传递(*args/**kwargs)

在定义函数时,我们并不知道调用的时候会传递多少个参数,这时(*args/**kwargs)关键字参数来进行参数传很实用,在func参数列表中,所有参数被args/kwargs收集,根据位置合并成一个元组(tuple),注意添加*号。

def func(*args):
    print(type(args))
    print(args)

#参数必须放在默认参数后
def func(a,b,*args,**kwargs):
    print(a,b,agrs,kwargs)


#示例
def func(a,b=2,*c,**d):
    pint(a,b,c,d)

func(1,2,*(3,4),**{'e':10,'f':20})
#输出 1 2 (3,4) {'e':10,'f':20}

5、分解包裹传递参数

在函数中,可以将多个参数合并成一个参数,即将多个参数合并成一个元组,在传递元组对象名前添加*或**

#*args = (1,2,3,4)

def func(a,b,c,d):
     print(a,b,c,d)

args=(1,2,3,4)

func(*args)
#输出 1 2 3 4

猜你喜欢

转载自blog.csdn.net/u011978079/article/details/89322625