我有一个Python脚本,我需要导入python标准random
库并导入pylab
函数。我写了一个简单的程序来使用' random'在一个工作文件的脚本中,但是一旦我添加了pylab的导入,它就会停止运行。见下文。
使用random
的示例脚本:
import random
#from pylab import *
def getRandomAngle():
return random.randint(0,360)
def getRandomAngleList(num):
angle_list = []
for i in range(num):
angle_list.append(getRandomAngle())
return angle_list
#Call randomAngle method to print a random angle
randomAngleList = getRandomAngleList(5)
print randomAngleList
打印预期输出:
[96, 163, 212, 344, 77]
现在,Uncomment
在上述程序的line 2
中导入pylab,然后抛出以下错误 -
AttributeError: 'builtin_function_or_method' object has no attribute 'randint'
有谁可以帮我理解,如何包含两种进口产品?我相信pylab中有一些随机函数会导致问题,但不确定。我使用的是Python 2.7版本。
答案 0 :(得分:2)
问题是pylab
有一个名为random
的函数,这将覆盖您导入的random
模块。
解决方案是避免from pylab import *
而是说
import random
import pylab
在需要时为pylab
个函数添加前缀。
在使用from ... import *
的python中可能会有问题,因为这可能会覆盖代码中已定义的函数/类/变量。