欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python函数传参的四种方式及四种形参定义方式

程序员文章站 2022-05-15 22:46:16
...

位置传参

序列传参

关键字传参

字典关键字传参

1、位置传参

定义函数时的形参与调用函数时的实参按照位置一一对应

例子:

def fun1(a,b,c):
    print(a,b,c)
fun1(1,2,3)

输出结果:1 2 3

 

2、序列传参

调用函数时用*号将序列拆解开,再通过位置传参一一对应

例子:

def fun2(a,b,c):
    print(a,b,c)
l=[1,2,3]
t=(4,5,6)

fun2(*l)
fun2(*t)

输出结果:

E:\install\python3.7.3\python.exe F:/pycharm_workspace/day01/canshu.py
1 2 3
4 5 6

Process finished with exit code 0

3、关键字传参

是指在调用函数时,给形参赋值作为实参

例子:

def fun3(a,b,c):
    print(a,b,c)
    
fun3(a=1,b=2,c=3)

输出结果:1 2 3

4、字典关键字传参

实参为字典,用**符号将字典拆解,再通过关键字传参

例子:

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

d={'a':1,'b':2,'c':3}
fun4(**d)

输出:1 2 3

综合传参:

函数的传参方式在能确定实参和形参一一对应的情况下,可以任意组合

注:综合传参和序列传参先传递,然后是关键字传参,字典关键字传参

缺省参数

语法:

def 函数名(形参名1=值1,形参名2=值2,形参名3=值3):

          函数内容

例子:

def fun1(a=10,b=53,c=86):
    print(a,b,c)

fun1(20)

输出:20 53 86

 

四种形参定义方式

1、位置形参

2、星号元组形参

3、命名关键字形参

4、双星号字典形参

 

1、位置形参

语法:

def 函数名(形参1,形参2.。。)

       语句块

2、星号元组传参

语法:

def 函数名(*元组形参名):

           语句块

作用:收集多余的位置传参

例子:

def fun1(*args):
    print(args)

fun1(10,20,30,40)
fun1(*[1,2,3,4,5])

输出结果:

E:\install\python3.7.3\python.exe F:/pycharm_workspace/day01/quesheng.py
(10, 20, 30, 40)
(1, 2, 3, 4, 5)

Process finished with exit code 0

3、命名关键字形参

在调用函数时,调用者实参必须是关键字传参或者字典关键字传参

因为命名关键字跟在*号元组传参后面,*号传参是不定数量的参数,所以后面的参数如果不指定,无法确定参数到底是传给谁

语法:

def fun(*args,a,b):

          语句块

例子:

def fun1(a,b,*args,c):
    print(a,b,args,c)
l=[60,70]
fun1(10,20,*l,c=30)

输出结果:

E:\install\python3.7.3\python.exe F:/pycharm_workspace/day01/quesheng.py
10 20 (60, 70) 30

Process finished with exit code 0

4、双*号字典形参---------》收集多余的关键字参数

语法:

def fun(**kwagrs):

              语句块

例子:

def fun1(**kwargs):
    print(kwargs)

d={'name':'shangsan','age':18}
fun1(**d)

输出结果:

E:\install\python3.7.3\python.exe F:/pycharm_workspace/day01/quesheng.py
{'name': 'shangsan', 'age': 18}

Process finished with exit code 0

函数参数说明

位置形参、星号元组形参、命名关键字形参、字典关键字形参可以混合使用,顺序如下:

1、位置形参

2、星号元组形参

3、命名关键字形参

4、字典关键字形参