TypeError:’module’对象不可调用

问题:

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是一个包含类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 callable这听起来好像是在呼叫你不能打电话的东西,我想知道我打算叫什么?
  • “哦,我打电话给socket,应该是可以调用的!我想知道变量socket是不是我认为的?
  •  print socket

 
 Code问答: codewenda.com
Stackoverflow:TypeError: ‘module’ object is not callable

发表评论

电子邮件地址不会被公开。 必填项已用*标注

2 + 6 =