一、创建函数
创建一个函数用来计算三个数的和,如下:
def addnum3(num1, num2, num3):
"""
该函数用来计算三个数之和
:param num1: 第一个数字
:param num2: 第二个数字
:param num3: 第三个数字
:return: 和值
"""
return num1 + num2 + num3
下来,我们对其进行调用:
result = addnum3(2, 4, 5)
print(result)
# 11
二、引出问题
假设我们要计算这个函数返回结果的平均值。那么此时,我们只需将和值除以参数个数即可,那么参数个数怎么获取呢?你可能会说:数一下就知道了。那么假设此时有很多的参数,你还去数吗?此时,明显这个方法是不恰当的,那么有没有更加方便、高效的方法呢?我们接着往下看。
三、解决问题
print(addnum3.__code__.co_argcount)
# 3
# 输出的函数参数个数
print(addnum3.__code__.co_varnames)
# ('num1', 'num2', 'num3')
# 这里会输出函数用到的所有变量名,不只是参数名
print(addnum3.__defaults__)
# None
通过上面这个例子,我们不但可以获取参数个数,还可以获取所有变量名以及默认返回值。此时,我们只需根据自己的需求,去应用就可以了,那么以上的问题,就自然解决了。
网友评论