码迷,mamicode.com
首页 > 编程语言 > 详细

python函数 传参的多种方式 解读

时间:2019-04-04 20:36:09      阅读:313      评论:0      收藏:0      [点我收藏+]

标签:打印   最好   设置   rgs   bsp   多个参数   通过   https   UNC   

1、函数的参数在哪里定义

 

在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号, 隔开

 

案列:

 技术图片

2、带参数的函数调用:

 

函数定义了参数,那么调用函数的时候就需要传入参数

技术图片

 

 

上面的案列中,我们定义函数的时候在函数名后面的括号里定义的参数叫做形参。

 

而我们调用函数的时候传入的参数叫做实参,形参是用来接收实参的。

 

技术图片

 

 

参数的分类

 

上面我们说了形参和实参,那么形参和实参在在定义和调用的时候,根据形式不同有可以分为几类。

 

1、根据实参进行分类

 

实参:位置参数、关键字参数

 

1.1、位置参数(未命名参数)

技术图片

 

上述案列中,的函数的三个形参是按位置接收传入的实参,我们把这样的传参的形式叫做位置参数。

 

1.2、关键字参数(命名参数)

技术图片

 

 

调用函数函数的时候,实参通过参数名指定传给某个形参,这样的传参形式,我们把它叫做关键字参数。

 

注意:传参的时候先写位置参数,再写命名参数

 

2、根据形参进行分类

 

形参可以分为三类:必备参数、默然参数、不定长参数

 

2.1、必备参数:

 

在调用函数的时候必须要传的参数

 技术图片

上面函数中的a,b就是必备参数,在调用的函数的时候必须要传,不然就会报错。

 

2.2、默认参数(缺省参数):

 

调用函数的时候可以传可以不传,不传就用默认值

 技术图片

技术图片

通过上述案列中我们可以发现,第一次调用的时候,我们传入了三个参数,c打印出来的是我们传入的值。

 

第二次只传入了两个参数,这个时候c打印出来的是我们定义的时候给它设置的默认值

 

注意:带有默认值的参数一定要位于参数列表的最后面。

 

2.3、不定长参数*args和 **kwargs

 

调用函数的时候可以传0个或者多个

 

◆ *args:接收多传入的位置参数,以元祖的形式保存
技术图片

 

 

*args,args接收的是一个元祖;

 

调用的时候可以直接传入:

 

func(11,22,33,44,55,66,77),

 

也可以可以先组装list或tuple,

 

再通过*拆包传入:

 

func(*(11,22,33,44,55,66,77));

 

◆ **kwargs:接收多传入的关键字参数,以字典的形式保存

技术图片

**kwargs,kw接收的是一个字典;

 

关键字参数既可以直接传入:

 

func(11,22,e=33,h=44,f=55,d=66,c=77)

 

也可以先组装dict

 

再通过**kw传入:

 

func(**{‘e‘:33,‘h‘:44,‘d‘:66,‘c‘:77})

 

注意点:使用*args和**kwargs是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。

 

来源: https://mp.weixin.qq.com/s/p_L94CGTQdethFdGYZePBw

 

 

python函数 传参的多种方式 解读

标签:打印   最好   设置   rgs   bsp   多个参数   通过   https   UNC   

原文地址:https://www.cnblogs.com/kaibindirver/p/10656775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!