如何手动实现在python中添加整数的函数重载?
Posted
技术标签:
【中文标题】如何手动实现在python中添加整数的函数重载?【英文标题】:How to implement manually a function overloading of adding integers in python? 【发布时间】:2021-12-29 02:28:57 【问题描述】:我尝试了一个挑战,但似乎无法正确完成。我知道 Python 不支持函数重载,但我见过一些手动完成的。
我使用两个参数来添加 2 个数字,并使用三个参数来添加 3 个数字,然后使用一个大小为 4 的数组来添加 4 个数字,但我似乎无法超过两个数字的总和。我只是使用我的其他代码作为我如何想出我的代码的参考。
def add(a, b):
sum1 = sum(a,b)
return sum1
def add(c,d, e):
sum2 = sum(c,d,e)
return sum2
def add(f,g,h,i):
sum3 = sum(f,g,h,i)
return sum3
a,b = int(input("Enter two numbers: ").split())
print("The sum is: ", add(a,b))
c,d,e = int(input("Enter three numbers: ").split())
print("The sum is: ", add(c,d,e))
f,g,h,i = [int(x) for x in input("Enter four numbers: ").split()]
print("The sum of is: ", add(f,g,h,i))
【问题讨论】:
查看blog 问题是什么? 【参考方案1】:如果您只想在函数中添加 n 次数字,那么您可以这样做
如果我们保留 2 个数字,则不需要
def add(a, b, *args):
return a+b+sum(args)
或者你可以使用
def add(*args):
return sum(args)
现在您可以添加任意数量的数字
其他方式
def add(**kwargs):
a = kwargs.get('a', 0)
b = kwargs.get('b', 0)
return a+b # or sum(kwargs.values())
print(add(a=1, b=2))
# if you want another variable in function so you need to write that also
【讨论】:
有没有办法手动输入参数,就像我想在代码中显示所有变量一样? 你可以把参数放在函数中,但是在函数里面如果你看到参数你可以使用 print(args) 或者如果你想用这种方式说添加函数add(a=1,b=2,c=3....)
即定义变量名称也可以使用def add(**kwargs): return sum(kwargs.values())
,如果你使用print(kwargs)
,你可以看到那里定义的所有变量
add(a=1,b=2,c=3....)
这是否意味着 a 的值为 1,b 的值为 2.. 等等?以上是关于如何手动实现在python中添加整数的函数重载?的主要内容,如果未能解决你的问题,请参考以下文章