0

私はPythonが初めてで、モジュールまたは関数をインポートする方法を学んでいますが、これらの投稿されたエラーが発生しました。Python コードは次の名前で保存されます。hello_module.py

パイソンコード:

def hello_func():
    print ("Hello, World!")
hello_func()
import hello_module
hello_module.hello_func()

エラーメッセージ:

Traceback (most recent call last):
  File "C:/Python33/hello_module.py", line 9, in <module>
    import hello_module
  File "C:/Python33\hello_module.py", line 10, in <module>
    hello_module.hello_func()
AttributeError: 'module' object has no attribute 'hello_func'
4

1 に答える 1

4

独自のモジュールをインポートすることはできませんし、すべきではありません。現在の名前空間で定義hello_funcしたので、それを直接使用してください。

関数をのファイルに入れ、それをインポートできます。

  • ファイルfoo.py:

    def def hello_func():
        print ("Hello, World!")
    
  • ファイルbar.py:

    import foo
    
    foo.hello_func()
    

スクリプトとして実行bar.pyします。

独自のモジュールをインポートしようとすると、それ自体が再度インポートされ、その際に不完全なモジュールがインポートされます。まだ属性が設定されていないためhello_module.hello_func、まだ存在せず、壊れます。

于 2013-05-03T17:09:37.127 に答える