helmer_hanssen 2023-05-08 13:36 采纳率: 58.3%
浏览 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日

悬赏问题

  • ¥15 ceph初始化mon不成功 下图不报错 这个是什么元
  • ¥15 数学建模数学建模少ai
  • ¥15 有没有cst丛书18算例21
  • ¥15 如何把LibreOffice添加到自定义层中
  • ¥35 这个的负序网络和零序网络怎么画?(答疑)
  • ¥200 基于同花顺supermind的量化策略脚本编辑
  • ¥20 Html备忘录页面制作
  • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
  • ¥20 数学建模来解决我这个问题
  • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀