当前位置: 首页 > 面试题库 >

TypeError:“模块”对象不可调用

弘阳德
2023-03-14
问题内容
File "C:\Users\Administrator\Documents\Mibot\oops\blinkserv.py", line 82, in __init__
    self.serv = socket(AF_INET,SOCK_STREAM)
TypeError: 'module' object is not callable

为什么会出现此错误?我很困惑。

你需要知道什么才能回答我的问题?


问题答案:

socket是一个包含class的模块socket

你需要执行socket.socket(...)以下操作from socket import socket

>>> import socket
>>> socket
<module 'socket' from 'C:\Python27\lib\socket.pyc'>
>>> socket.socket
<class 'socket._socketobject'>
>>>
>>> from socket import socket
>>> socket
<class 'socket._socketobject'>

这就是错误消息的含义:
它表示为module object is not callable,因为你的代码正在调用模块对象。模块对象是导入模块时得到的东西的类型。你试图做的是在模块对象中调用恰好与包含它的模块同名的类对象。

这是一种从逻辑上分解这种错误的方法:

  • module object is not callablePython告诉我我的代码试图调用无法调用的内容。我的代码试图调用什么?”
  • “代码正在尝试调用socket。应该可以调用!变量socket是我认为的吗?”
  • 我应该打印出什么是插座并检查 print socket


 类似资料:
  • 问题内容: 我在运行此代码时遇到问题: 我已经搜索了问题,并且得到了一些结果。但不幸的是,它们没有工作。那么,我该如何解决呢? 谢谢。 问题答案: 您打错了字。 注意大写F。

  • 问题内容: 我是Python新手,我想在控制台中安装Jupyter Notebook,然后输入以下内容: 之后,我在使用pip3安装其他库时出错,控制台输出: 我不知道该怎么办。 我用完之后 问题答案: 从Bram的链接中,我刚刚运行,它又开始起作用。

  • 我可以从一个简单的脚本成功加载TextBlob模块,但不能从Flask应用程序加载。我将向您展示代码和错误。 加载一个简单的脚本工作: 从烧瓶应用程序加载时抛出错误: 错误: 我使用的是textblob版本0.11。0与pip一起安装。

  • 问题内容: 码: 第一次工作,然后第二次出现错误: 有人知道为什么是这样吗? 我已经尝试过了,但出现错误: 问题答案: 这就是问题: 你正在重新定义什么意思。是字符串类型的内置Python名称,你不想更改它。 为本地变量使用其他名称,然后删除该语句。

  • 问题内容: 给定以下整数和计算 结果是: 如何将输出舍入为整数? 问题答案: 给定以下整数和计算 结果是: 如何将输出舍入为整数?

  • 问题内容: 我尝试在视图中使用,但收到错误`TypeError:’bool’对象不可调用。为什么会出现此错误,我该如何解决? 问题答案: 当您尝试表现对象的方法或功能时,会发生“对象不可调用”错误。 在这种情况下: 您将current_user.is_authenticated表现为一种方法,而不是一种方法。 您必须以这种方式使用它: 您在方法或函数(而不是对象)之后使用“()”。 在某些情况下,