Python 错误 Object Is Not Callable
我们将讨论类型错误对象不可调用,并看看如何修复它。 我们还讨论了在 Python 中使用 callable 函数来检查对象是否可调用。
修复Python错误 object is not callable
当我们查看此错误(对象不可调用)时,我们可能需要了解 Python 脚本中发生了什么。 例如,我们有几行代码来演示问题以及如何修复它。
错误代码:
v=5
g=9
int=3
print(int(g/v*int))
输出:
TypeError: 'int' object is not callable
我们有三个变量 v、g 和 int。 我们遇到这个问题是因为我们定义了一个名为 int 的变量,它是一个函数。
int是Python内置函数,这就是为什么我们不能使用int作为变量名; 因此,当Python脚本执行时,它会调用变量名int。 int类型在Python中是受限制的名称,因此,当我们将其用作变量时,它会显示此错误。
我们通过更改变量名称并再次运行此脚本来修复错误。
示例代码:
v=5
g=9
d=3
print(int(g/v*d))
输出:
5
请记住,在 Python 脚本中运行任何带有函数的程序时,绝对不应该将该函数作为变量名,因为您将面临同样的问题。 字符串、浮点数等也会出现同样的问题。
如果您收到此错误,您首先应该检查您的变量是否调用了函数名称。 我们不能像下面的代码示例那样调用存储数据类型值的变量。
错误代码:
x='josh'
x()
输出:
TypeError: 'str' object is not callable
Python 中的 callable() 函数
如果一个对象可以像函数一样被调用,则 callable()
函数返回 True 并接受一个参数,该参数可以是任何对象。
例如,如果我们有一个变量 x 等于 42,则该变量引用内存中的整数。 我们可以将 x 传递给 callable()
函数并立即打印结果,看看它返回的是 true 还是 false 值。
执行此命令时,返回值为 false,因为整数 42 不可调用。
示例代码:
x=42
print(callable(x))
输出:
False
让我们检查一下如果 callable()
函数调用自身会发生什么; 我们在 callable()
函数中输入 callable 并打印它。 我们将看到结果为 True,并且我们还可以传递 print 函数,这显然也是可调用的。
print(callable(callable))
print(callable(print))
输出:
True
True
假设我们定义自定义对象,而不是内置对象,无论它们是可调用还是不可调用。 让我们创建一个名为 FUNC()
的函数,它会返回一些内容。
我们将此函数名称传递给 callable()
函数并打印输出,这是可调用的。 如果我们使用 FUNC()
调用返回值,它将是一个整数并将其传递给 callable()
函数。 输出将返回 False,这是不可调用的,因为我们无法调用我们已经查看过的整数。
例子:
def FUNC():
return 51
print(callable(FUNC))
print(callable(FUNC()))
输出:
True
False
相关文章
Python 中错误 Address Already in Use
发布时间:2023/07/09 浏览次数:173 分类:Python
-
我们将通过示例介绍Python中何时出现 Address already in use 错误以及如何解决。Python 中的错误Address already in use 本文将讲述运行使用端口的程序时发生的Python堆栈错误。
Python 中错误 ValueError: Math Domain Error
发布时间:2023/07/09 浏览次数:607 分类:Python
-
在本篇文章中,我们的目标是探索解决 Python 中的 ValueError: math domain error 错误的不同方法。当编码方面数学(基础或高级)的使用存在固有缺陷时,Python 中通常会引发 ValueError: math domain error 错
Python 错误 Name xrange Is Not Defined
发布时间:2023/07/09 浏览次数:153 分类:Python
-
本篇文章将介绍如何解决 Python 中 name 'xrange' is not defined 的错误。解决Python中name 'xrange' is not defined错误 让我们尝试理解为什么会发生这个特定的错误。 让我们首先尝试复制这个问题。
Python 错误 TypeError: List Indices Must Be Integers, Not STR
发布时间:2023/07/09 浏览次数:954 分类:Python
-
在本篇文章中,我们的目标是探索如何避免 TypeError: list indices must be integers or slices, not str。TypeError主要发生在Python中,每当操作的数据类型出现问题时。
Python 中错误 AttributeError: __Enter__
发布时间:2023/07/09 浏览次数:2241 分类:Python
-
在 Python 中,AttributeError 是在未定义 __enter__ 函数的情况下通过 with 语句使用类的对象时导致的错误。
Python 错误 ModuleNotFoundError: No Module Named '_Ctypes'
发布时间:2023/07/09 浏览次数:686 分类:Python
-
本篇文章旨在了解如何解决 Python 中的 ModuleNotFoundError: No module named '_ctypes'。了解Python中 ModuleNotFoundError: No module named '_ctypes' 根本原因
Python 错误 AttributeError: '_io.TextIOWrapper' Object Has No Attribute 'Split'
发布时间:2023/07/09 浏览次数:1063 分类:Python
-
本篇文章将介绍如何修复 Python 中的 AttributeError: '_io.TextIOWrapper' object has no attribute 'split'。在 _io.TextIOWrapper 上使用 split() 方法会返回 AttributeError
Python 错误 AttributeError: _csv.reader Object Has No Attribute Next
发布时间:2023/07/09 浏览次数:286 分类:Python
-
本篇文章将介绍如何修复 Python 中的 AttributeError: '_csv.reader' object has no attribute 'next'。修复 Python 中的 AttributeError: '_csv.reader' object has no attribute 'next' 错误
Python 错误 Error: Invalid Command Bdist_wheel
发布时间:2023/07/09 浏览次数:847 分类:Python
-
在 Python 中构建 wheel 时,有时 setup.py 可能会退出并出现错误 invalid command 'bdist_wheel'。 本篇文章将讨论在 Python 中解决此问题的可能解决方案。安装wheel包来修复Python中 Error:invalid command 'bdist_