小编今天就带大家进行详细的解释下,解释关于python中,都存在有哪些具体的参数,具体参数作用是什么,下文会给大家一一的去做一个解答。
一、参数的定义
1、函数的参数在哪里定义
在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号,隔开
案列:
</>复制代码
#利用函数的参数,定义一个可以完成任意两个数相加的函数
def add_num(a,b):
c=a+b
print(c)
2、带参数的函数调用:
函数定义了参数,那么调用函数的时候就需要传入参数
</>复制代码
add_num(11,22)
#运行结果
33
上面的案列中,我们定义函数的时候在函数名后面的括号里定义的参数叫做形参,
而我们调用函数的时候传入的参数叫做实参,形参是用来接收实参的。
二、参数分类
上面我们说了形参和实参,那么形参和实参在在定义和调用的时候,根据形式不同有可以分为几类,
1、根据实参进行分类
实参:位置参数、关键字参数
1.1、位置参数(未命名参数)
</>复制代码
def func(a,b,c):
print(a)
print(b)
print(c)
add_num(11,22,33)
#运行结果
11
22
33
上述案列中,的函数的三个形参是按位置接收传入的实参,我们把这样的传参的形式叫做位置参数,
1.2、关键字参数(命名参数)
</>复制代码
def func(a,b,c):
print(a)
print(b)
print(c)
add_num(11,c=99,b=33)
#运行结果
11
33
99
调用函数函数的时候,实参通过参数名指定传给某个形参,这样的传参形式,我们把它叫做关键字参数
注意:传参的时候先写位置参数,再写命名参数
2、根据形参进行分类
形参可以分为三类:必备参数、默然参数、不定长参数
2.1、必备参数:
在调用函数的时候必须要传的参数
</>复制代码
def add(a,b):
c=a+b
print(c)
add(11,22)
上面函数中的a,b就是必备参数,在调用的函数的时候必须要传,不然就会报错
2.2、默认参数(缺省参数):
调用函数的时候可以传可以不传,不传就用默认值
</>复制代码
def func(a,b,c=99):
print(a)
print(b)
print(c)
func(11,22,33)
print('-----------')
func(55,66)
#运行结果:
11
22
33
---------------
55
66
99
通过上述案列中我们可以发现,第一次调用的时候,我们传入了三个参数,c打印出来的是我们传入的值,第二次只传入了两个参数,这个时候c打印出来的是我们定义的时候给它设置的默认值
注意:带有默认值的参数一定要位于参数列表的最后面。
2.3、不定长参数*args和**kwargs
调用函数的时候可以传0个或者多个
2.3.1、*args:接收多传入的位置参数,以元祖的形式保存
</>复制代码
def func(*args):
print(args)
func(33,44,55,66,77)
func(*(33,44,55,66,77))
#运行结果
(33,44,55,66,77)
(33,44,55,66,77)
*args,args接收的是一个元祖;
调用的时候可以直接传入:func(33,44,55,66,77),
也可以可以先组装list或tuple,再通过*拆包传入:func(*(33,44,55,66,77));
2.3.2、**kwargs:接收多传入的关键字参数,以字典的形式保存
</>复制代码
def func(**kwargs):
print(kwargs)
func(e=33,h=44,f=55,d=66,c=77)
func(**{'e':33,'h':44,'d':66,'c':77})
#运行结果
{'e':33,'h':44,'f':55,'d':66,'c':77}
{'e':33,'h':44,'f':55,'d':66,'c':77}
**kwargs,kw接收的是一个字典;
关键字参数既可以直接传入:func(11,22,e=33,h=44,f=55,d=66,c=77),
也可以先组装dict,再通过**拆包传入:func(**{'e':33,'h':44,'d':66,'c':77})。
注意点:使用*args和**kwargs是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。
以上内容,就为大家介绍到这里了,希望可以为大家带来更多帮助。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/128069.html
摘要:声明使用方法参数解释控制二维码的大小,取值范围从到。取最小值时,二维码大小为。控制二维码纠错级别。默认值,大约或者更少的错误会被更正。控制二维码四周留白包含的格子数,默认为。清空数据返回二维码数组。 https://github.com/lincolnloo... 声明 import qrcode 使用 QRCode 方法 qrcode.QRCode( version=1, ...
摘要:一积累中如何快速查看包中的源码最常用的大开发快捷键技巧将对象保存到文件中从文件中读取对象中的用法的配置详解和代码的格式详解格式化内容设置生成详解注释规范中设置内存调试的小知识单步执行命令的区别的动态代理机制详解内容有瑕疵,楼指正泛型继承的几 一、积累 1.JAVA Eclipse中如何快速查看jar包中 的class源码 最常用的15大Eclipse开发快捷键技巧 Java将对象保存到...
摘要:一积累中如何快速查看包中的源码最常用的大开发快捷键技巧将对象保存到文件中从文件中读取对象中的用法的配置详解和代码的格式详解格式化内容设置生成详解注释规范中设置内存调试的小知识单步执行命令的区别的动态代理机制详解内容有瑕疵,楼指正泛型继承的几 一、积累 1.JAVA Eclipse中如何快速查看jar包中 的class源码 最常用的15大Eclipse开发快捷键技巧 Java将对象保存到...
阅读 941·2023-01-14 11:38
阅读 914·2023-01-14 11:04
阅读 774·2023-01-14 10:48
阅读 2102·2023-01-14 10:34
阅读 987·2023-01-14 10:24
阅读 869·2023-01-14 10:18
阅读 528·2023-01-14 10:09
阅读 604·2023-01-14 10:02
极致性价比!云服务器续费无忧!
Tesla A100/A800、Tesla V100S等多种GPU云主机特惠2折起,不限台数,续费同价。
NVIDIA RTX 40系,高性价比推理显卡,满足AI应用场景需要。
乌兰察布+上海青浦,满足东推西训AI场景需要