4

以前の投稿でご存知かもしれませんが、私は Python を学んでいます。今回は、Python 自体のこのビルドにあると思われる小さなエラーがあります。以下を使用する場合:

import random
number = random.randint(1,10000)

Pythonは私にこのエラーを与えます:

File "C\Users\name\Documents\Python\random.py", line 5, in (module)
  print random.random()
TypeError: 'module' object is not callable

実行しようとするたびに。わかりません。どんな助けでも大歓迎です!

編集:実行しようとしている2行のコード:

import random
print random.randint(1,100)

それでおしまい。そして、それは私に同じエラーを与えます。

4

4 に答える 4

15

スクリプトに名前を付けると、標準ライブラリ モジュールrandom.pyとの名前の競合が発生します。random

スクリプトを実行しようとすると、スクリプトを含むディレクトリがモジュールのインポート パスの先頭に追加されます。したがって、スクリプトimport randomrandom.

randomモジュールが実行import randomされると、random.randomモジュールへの参照にもなります。したがって、random.random()標準ライブラリ関数を呼び出そうとすると、実際にはモジュール オブジェクトを呼び出そうとしているため、エラーが発生します。

スクリプトの名前を別の名前に変更すると、問題は解決するはずです。

于 2012-12-11T03:59:27.923 に答える
0

私も同じ問題に直面しました。Python ファイルの名前を random.py から shuffle.py に変更しました。これはうまくいきませんでした。その後、バージョンを変更したところ、動作しました。これは少し役立つかもしれません。Python バージョン: 3.6.7 インポート ランダムを置き換えます。random2 をインポートします。

于 2019-06-15T12:26:32.323 に答える