包含Python函数实参数的词条

python怎么查看函数有什么参数Python中查看函数参数有四种方式:
1. F(arg1,arg2,…)
这是最常见Python函数实参数的定义方式Python函数实参数,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提供个数相等的值(实际参数) , 而且顺序必须相同,也就是说在这种调用方式中,形参和实参的个数必须一致,而且必须一一对应,也就是说第一个形参对应这第一个实参 。例如:
代码如下:
def a(x,y):print x,y
调用该函数,a(1,2)则x取1,y取2,形参与实参相对应,如果a(1)或者a(1,2,3)则会报错 。
2. F(arg1,arg2=value2,…)
这种方式就是第一种的改进版,提供了默认值 , 例如:
代码如下:
def a(x,y=3):print x,y
调用该函数,a(1,2)同样还是x取1,y取2,但是如果a(1),则不会报错了,这个时候x还是1,y则为默认的3 。上面这俩种方式,还可以更换参数位置 , 比如a(y=4,x=3)用这种形式也是可以的 。
3. F(*arg1)
上面两种方式是有多少个形参 , 就传进去多少个实参,但有时候会不确定有多少个参数,则此时第三种方式就比较有用 , 它以一个*加上形参名的方式来表示这个函数的实参个数不定,可能为0个也可能为n个 。注意一点是,不管有多少个,在函数内部都被存放在以形参名为标识符的元组中 。
代码如下:
def a(*x):print x
a(1,2,3)
(1, 2, 3)
a(x=1,y=2,z=3)
Traceback (most recent call last):
File "stdin", line 1, in module
TypeError: a() got an unexpected keyword argument 'x'
4. F(**arg1)
形参名前加两个*表示,参数在函数内部将被存放在以形式名为标识符的dictionary中,这时调用函数的方法则需要采用arg1=value1,arg2=value2这样的形式 。
代码如下:
def a(**x):print x
a(x=1,y=2,z=3)
{'y': 2, 'x': 1, 'z': 3} #存放在字典中
a(1,2,3) #这种调用则报错
Traceback (most recent call last):
File "stdin", line 1, in module
TypeError: a() takes exactly 0 arguments (3 given)
Python获取函数参数个数和默认参数创建一个函数用来计算三个数的和,如下:
下来,我们对其进行调用:
假设我们要计算这个函数返回结果的平均值 。那么此时,我们只需将和值除以参数个数即可,那么参数个数怎么获取呢?你可能会说:数一下就知道了 。那么假设此时有很多的参数,你还去数吗?此时,明显这个方法是不恰当的,那么有没有更加方便、高效的方法呢?我们接着往下看 。
通过上面这个例子 , 我们不但可以获取参数个数,还可以获取所有变量名以及默认返回值 。此时,我们只需根据自己的需求,去应用就可以了,那么以上的问题,就自然解决了 。
Python:函数的参数、混搭、开包位置参数适合参数少的情况,当参数较多时,位置容易存错 。
关键词参数适合参数较多时,通过指定关键词来存 。
混搭时应注意先放位置参数后放关键词参数,否则会出现语法错误 。语法上允许混搭 , 但尽量不要采用 。
d在*的前面,可以作为位置参数,不用指定关键词,*后面必须指定关键词,可以混搭 。
一旦设置默认值,可以不传它;但也可以继续传入,传Python函数实参数了多少就是多少 。默认参数需要注意,现房非默认参数再放默认参数 。
当参数是多个时,可以在变量前面加*,表示零到无穷多个位置参数 , 传入的参数会被合并为一个元组,若需要破开元组,只需要在元组前面加上* 。注意要先固定参数再可变参数 。

推荐阅读