python - 有时为什么我们必须在 python 中将参数作为元组传递?
问题描述
所以我在 python 中编写了这个简单的程序,它有一个名为的函数num
,它接受两个参数作为整数并检查是否有一些是“20”,如果是,那么它返回,True
否则它返回False
,你会注意到在if
语句中我调用了另一个函数sum
是python中的一个内置函数,所以当我尝试在这个函数中传递a
and的值b
而不将它们作为元组传递时,它会给我下面提到的错误,所以我的问题是为什么它在我工作时会起作用像这样sum((a,b))
而不是这样通过它们sum(a,b)
File "c.py", line 8, in <module>
print(num(220,10))
File "c.py", line 3, in num
if sum(a,b) == 20:
TypeError: 'int' object is not iterable
def num(a,b):
if sum(a,b) == 20:
return True
else:
return False
print(num(220,10))
解决方案
Pythonsum()
是一个内置函数,它接受一个迭代并返回其中项目的总和。
所以基本上你必须向它传递一个可迭代的对象(作为元组或列表)sum((a,b))
而不是两个单独的对象sum(a, b)
。
推荐阅读
- c# - 是否可以在实体框架中忽略相关实体的加载?
- sql - 如何基于其他列值 SQL 求和()列
- go - 如何在 Go 中声明不可变变量?
- python - python电报机器人得到下一个问题我需要输入任何东西
- php - 如何在 if else 语句中使用 php 循环
- c++ - 错误没有匹配函数调用 SalariedEmp SalariedEmp
- html - HTML/Django - 一张图片处于活动状态且前后半透明的轮播
- amazon-web-services - 如何创建限制用户创建允许所有入站流量的安全组的 AWS 策略?
- android - Android 启动器 - 浏览器链接重定向快捷方式
- ios - 在 FMX iOS App 中隐藏 App Switcher 的屏幕截图