helmer_hanssen 2023-05-08 13:36 采纳率: 53.8%
浏览 14
已结题

python中random执行问题

在VScode环境中源代码如下:

import random
print(random.random())


在执行时,出现了如下的错误:


Traceback (most recent call last):
  File "D:\桌面\python_study\xiaobai_knows\random.py", line 1, in <module>
    import random
  File "D:\桌面\python_study\xiaobai_knows\random.py", line 2, in <module>
    print(random.random())
TypeError: 'module' object is not callable

但是在ipython环境中式可以正常运行的。
这个是怎么回事?

  • 写回答

4条回答 默认 最新

  • 星辰引路-Lefan 2023-05-08 13:49
    关注

    这个错误是因为你的Python文件名与Python自带的random模块名相同,导致程序无法正确引用random模块。

    在VScode环境中,当你运行代码时,Python会首先搜索当前目录下是否有与Python自带模块同名的Python文件。如果找到了同名文件(例如这里的random.py),则Python会优先使用该文件作为模块,而不是使用Python自带的 random 模块。这就会导致你尝试调用 random.random() 时出现 'module' object is not callable 错误。

    在ipython环境中,由于Python解释器已经启动,所以它不需要搜索当前目录下的同名文件,因此你没有遇到同样的问题。

    要解决这个问题,你可以将Python文件重命名为其他名称,例如将 random.py 重命名为 test_random.py,然后再次运行你的代码。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月17日
  • 已采纳回答 5月9日
  • 创建了问题 5月8日

悬赏问题

  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价