【问题标题】:TypeError: 'Module' object is not callable Help please [duplicate]TypeError:“模块”对象不可调用请帮助[重复]
【发布时间】:2013-07-01 17:30:30
【问题描述】:

遇到了这个奇怪的错误 谁能帮忙?

Traceback (most recent call last):
  File "./test.py", line 172, in <module>
    main()
  File "./test.py", line 150, in main
    if random() < .5 and losttwice < 5:
TypeError: 'module' object is not callable


import urllib2,urllib,os,simplejson, random

【问题讨论】:

  • 从技术上讲,该链接指的是socket,但原因相同。您可以将单词 socket 替换为 random,它们将是相同的答案。

标签: python


【解决方案1】:

您应该使用random.random() 而不仅仅是randomrandom 是一个包含 randomrandint 等函数的模块:

>>> import random
>>> random.random()
0.376462621569017

关于random.random的帮助:

random(...)
    random() -> x in the interval [0, 1).

如果你只想使用 `random` 模块中的random() 函数,那么你也可以这样做:

>>> from random import random  #imports only random() from random module
>>> random()                   #now use random() directly,
0.7979255998231091

【讨论】:

  • 如果 random()
  • help(random.random)。是的。
  • @AshwiniChaudhary 谢谢现在一切正常!
  • @Mark 很高兴有帮助。 :) 如果系统允许,请随时accept the answer
【解决方案2】:

random 是模块的名称; random.random 是该模块中的一个函数。所以你想做random.random() &lt; .5,而不是random() &lt; .5

【讨论】:

  • 这总是正确的......人们应该被禁止投票。
  • @KarolyHorvath:对不起,这实际上是一个错字(问题使用.5)。
【解决方案3】:

您正在尝试调用random 模块。尝试调用其中的某个函数,例如random.choice()

【讨论】:

    猜你喜欢
    • 2021-02-15
    • 1970-01-01
    • 2017-06-17
    • 2014-09-21
    • 2011-05-30
    • 2021-11-22
    相关资源
    最近更新 更多