Python 模块';随机';没有属性';随机';
我已经阅读了stackoverflow的一些其他问题,他们需要做的就是将文件名更改为其他名称,但我的文件名已经不同了:Python 模块';随机';没有属性';随机';,python,Python,我已经阅读了stackoverflow的一些其他问题,他们需要做的就是将文件名更改为其他名称,但我的文件名已经不同了: import random x = random.random() print(x) 我得到的错误如下: Traceback (most recent call last): File "math.py", line 1, in <module> import random File "/anaconda3/lib/python3.6/rand
import random
x = random.random()
print(x)
我得到的错误如下:
Traceback (most recent call last):
File "math.py", line 1, in <module>
import random
File "/anaconda3/lib/python3.6/random.py", line 42, in <module>
from math import log as _log, exp as _exp, pi as _pi, e as _e, ceil as _ceil
File "/Users/pgao/Documents/Python Project/math.py", line 3, in <module>
x = random.random()
AttributeError: module 'random' has no attribute 'random'
回溯(最近一次呼叫最后一次):
文件“math.py”,第1行,在
随机输入
文件“/anaconda3/lib/python3.6/random.py”,第42行,在
从数学导入日志为_log,exp为_exp,pi为_pi,e为_e,ceil为_ceil
文件“/Users/pgao/Documents/Python Project/math.py”,第3行,在
x=random.random()
AttributeError:模块“random”没有属性“random”
请帮我回答这个简单的问题,我最近在自学python语言。谢谢 问题在于,
random
模块导入了math
模块,由于您将自己的源文件命名为math.py
,因此将导入该模块
将源文件重命名为其他文件。相反,您成功地将文件命名为
random.py
,而不是math.py
,这也是一个内置的,random
导入的文件,从而击中了自己的脚
回溯是完全正确的(感谢您包含它!)。当
random
试图找出它的定义时,它会导入math
,解析为原始文件。然后,您的原始文件尝试(再次)找出它是什么,但是有一个占位符用于random
(到目前为止只计算了42行),并且它没有任何random.random
属性。尝试执行random.uniform(0,1)
可能。这将产生一个介于0和1之间的随机浮点。或者random.randint(lower,higher)
其中lower和higher是随机整数的整数。您的文件名为math.py
,它将被导入,而不是标准库的数学模块。重命名它,不要在任何文件中使用标准模块的名称。嗨,谢谢你的完整解释,这对我的错误帮助很大。它起作用了。谢谢。