1

クラス内にすべてのコードを含めることは適切な方法ですか? 計算などすべてを行うクラスが 1 つあります。しかし、残りのすべてのコード (主にクラスを呼び出すために使用される) は、クラスの外にあります。このように見えます。

class bigClass:
  executing here
  functions and whatnot
  blah blah

b=bigClass()
b.bigClassfunction()

私の質問は、これらの最後の 2 行を独自のクラスに入れる必要があるかどうかです。または、クラスにバインドされていない状態でそれらを浮かせておくだけですか。

4

3 に答える 3

1

それはまったく問題ありません。それらをクラスに入れる必要はありません。コードを数回繰り返す必要がある場合は、関数がオプションになる可能性があります。

このような目的でクラスを使用するべきではありません。ウィキペディアのように、クラスの役割は

オブジェクト指向プログラミングでは、クラスはそれ自体のインスタンスを作成するために使用される構成体であり、クラス インスタンス、クラス オブジェクト、インスタンス オブジェクト、または単にオブジェクトと呼ばれます。クラスは、そのインスタンスが状態と動作を持つことを可能にする構成メンバーを定義します。データ フィールド メンバー (メンバー変数またはインスタンス変数) により、クラス インスタンスは状態を維持できます。他の種類のメンバー、特にメソッドは、クラス インスタンスの動作を有効にします。クラスは、そのインスタンスの型を定義します。

このコードをクラスに埋め込むことはできますが、一度だけ実行する必要がある場合は、クラス内に配置する必要はありません。

編集:私が理解しているように、混乱は、クラスでメソッドjavaを使用する場合と同様に、最初に実行するコードをpythonに示す方法に関するものです。Python では、コードはトップダウンで実行されます。各ステートメントは外出先で計算されています。そのため、たとえば、その定義を超えてクラスを参照することはできません。mainProjectName

obj = Klass()
class Klass: pass #Doesn't work!
于 2012-09-24T13:37:01.947 に答える
0

「メイン」コードを次のようなブロックに入れる人もいます。

if __name__ == '__main__':
    foo()
    bar()

詳細については、このスレッドを参照してください。

ただし、クラスを持つためにクラスを使用しないでください。あまり「Pythonic」ではありません。

于 2012-09-24T13:58:49.200 に答える
0

あなたの質問は特に明確ではありませんが、クラスに関連するすべてのコードを常にクラス内に配置します。他の方法で行うことは設計上意味がありません。

于 2012-09-24T13:37:15.200 に答える