Pythonのrandom.choiceを試してみようと、以下のようなrandom.py
を作成し、実行しました。
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import random print(random.choice(["a", "b", "c"]))
しかし、以下のようなエラーが出て実行できませんでした。
$ ./random.py Traceback (most recent call last): File "./random.py", line 4, in <module> import random File "/home/(ユーザ名)/python_tmp/random.py", line 6, in <module> print(random.choice(["a", "b", "c"])) # choice(): 配列の要素のどれか一つを選んで返す関数 AttributeError: 'module' object has no attribute 'choice'
このエラーの原因は、今作ったrandom.py
という名前が、Pythonの標準モジュールであるrandom
と衝突してしまったことにあります。random.py
をrandom_test.py
などの他の名前にリネームすることでこの問題を解決できます。
同様に、test.py
という名前のファイルでも嫌なエラーが起こります(参考:[python] 細かすぎて伝わりにくい、Pythonの本当の落とし穴10選 | 私の小岩ホッチキス)。