2017-10-20 5 views
0

標準ライブラリを使用して複数のクラスmethodsを定義します。`import`モジュールをクラス内に配置する場所は?

class Dostuff: 
    def __init__(self): 
     pass 

    def read_book(self): 
     import os 
     pass 

    def listen_music(self): 
     import os.path 
     pass 

    def ask_question(self): 
     import glob 
     pass 

クラス内の適切な場所はどこですか?

このクラスは繰り返し適用するためのモジュールとして使用されます。

+2

クラスをモジュールとして使用しないでください。モジュールを使用します。 –

答えて

0

importの範囲を誤解しています。 まず、モジュールを最上位に配置するのはPEPの練習です。 第2に、最も重要なのはベストプラクティスではなく、そのように動作することです。 ファイル(またはモジュール)からclassまたはfunctionをインポートするたびに、常に実行してください。 import **

1

すべてのインポートをファイルの先頭に配置することをお勧めします。 PEP-8の輸入に関するスタイルガイドがあります。あなたのケースでは

https://www.python.org/dev/peps/pep-0008/#imports

#!/usr/bin/python3 
import os 
import os.path 
import glob 

class Dostuff: 
    def __init__(self): 
     pass 

    def read_book(self): 
     pass 

    def listen_music(self): 
     pass 

    def ask_question(self): 
     pass 
-1

は、通常、モジュールのいずれかのタイプをインポートするためのベストプラクティスは、あなたが書いているファイルの先頭にそれを行うことですだからあなたのケースで。次のようになります。

import os 
import glob 

class Dostuff: 
    def __init__(self): 
     pass 

    def read_book(self): 
     pass 

    def listen_music(self): 
     pass 

    def ask_question(self):   
     pass 
1

PEP 8を輸入に:

インポートはファイルの先頭、モジュールのコメントとドキュメントストリングの直後、モジュールのグローバルと定数の前に置かれます。

関連する問題