1

クラス名MyClassを定義したいとしましょう。

そのクラスを使いたいです。それで、

class MyClass():

    blabla

MyClass = MyClass(abc)

関数を作成し、その関数でMyClassを使用したいとします。私が見つけたのは、次のコードは例外を通過するということです。

def MyFunction():
    MyClass = MyClass(abc)

MyFunction(123)

何か助けはありますか?私は好きなことができます

    Myclass1 = MyClass(abc)

しかし、私は名前空間についての基本的な何かが欠けていると思います。ありがとう!

4

2 に答える 2

2

実行すると

MyClass = MyClass(abc)

の新しいインスタンスを作成し、MyClassそれをクラス自体に割り当てますが、 ではクラスMyclass1 = MyClass(abc)を上書きしません。クラスを上書きしても例外がスローされるべきではありません (例外はMyFunction()、引数を使用してメソッドを呼び出すことに関係している可能性がありMyClassます。 )、しかし、それはあなたが意図していることではないと思います。

Myclass1 = MyClass(abc)どのオブジェクトがクラスであるかについての混乱を防ぐため、最初の文字を大文字にするのではなく、変数に使用することをお勧めしmyClass1ます (または、一般的に使用される の python スタイルを使用することをお勧めします)。my_class1

于 2012-09-27T08:20:15.610 に答える