Python 尝试进行数学运算时,int对象不可调用

Python 尝试进行数学运算时,int对象不可调用,python,math,first-class-functions,Python,Math,First Class Functions,我试图将一个数字传递给一个函数,并让它打印结果,我有一个用于等式def square()的函数,还有一个接收数字和函数的函数 我不断发现这个错误: “TypeError:'int'对象不可调用” 我是编程新手,在YouTube上观看科里·沙弗的节目,他写了一个类似的节目。我开始玩弄它,现在我被卡住了 我希望print语句打印出arg_list(I),让我遍历def square(x),并将答案存储在result行2(x*x)导致python将整数2视为带参数的函数x*x,因此出现错误“TypeE

我试图将一个数字传递给一个函数,并让它打印结果,我有一个用于等式
def square()
的函数,还有一个接收数字和函数的函数

我不断发现这个错误:

“TypeError:'int'对象不可调用”

我是编程新手,在YouTube上观看科里·沙弗的节目,他写了一个类似的节目。我开始玩弄它,现在我被卡住了

我希望print语句打印出
arg_list(I)
,让我遍历
def square(x)
,并将答案存储在result

2(x*x)
导致python将整数2视为带参数的函数
x*x
,因此出现错误
“TypeError:'int'对象不可调用”


下面是对
square
函数的修复(您缺少
*
运算符)

但是,根据您的函数名,我猜您希望函数返回x的平方:

def square(x):
    int(x)
    return 2*(x * x)
在这种情况下,这里还有一个bug修复:

2 --> 4
3 --> 9
4 --> 16

问题在于
2(x*x)
语句。在Python编程语言中,我们需要明确提到表达式中的所有运算符。例如,语句应该是
2*(x*x)
,当使用圆括号时,实际上是在调用函数

此外,上述程序可以简化为

def square(x):
   return x**2

你想用
2(x*x)
做什么?所以在我用正方形传递的列表中,我希望它分别遍历每个数字。所以exp:def square(2):返回2(2*2),它会给我一个8的答案,在Python中串联不是乘法。编写
2
(x*x)
相邻并不意味着将它们相乘。还要注意,
int(x)
没有任何作用。它将x的值转换为整数,但不将其存储在任何地方。也许您需要
x=int(x)
?错误意味着在代码中的某个地方,您将值赋给变量
int
-即
int=2
-因此现在它无法访问函数
int()
-检查
print(int)
print(type(int))
谢谢,但我不明白python是如何将2作为一个函数的。我觉得这是一个python主题,我可能可以在某个地方读到。但是我应该如何在google中查找它。2实际上是int类型的对象。
in[23]:type(2)Out[23]:int
与python中一样,整数被视为对象,您也可以在错误中看到这一点
def square(x):
    int(x)
    return 2*(x * x)
2 --> 4
3 --> 9
4 --> 16
def square(x):
   return x**2
In [54]: list(map(lambda no: int(no)**2, [1, 2, 3, 4, 5]))
Out[54]: [1, 4, 9, 16, 25]