は、次のコードを見てください:このクラスをPythonで別のファイルに移動するにはどうすればよいですか?
class Main:
def __init__(self):
# list to keep track of instances of Sub()
self.sub_list = []
# create instances of Sub()
self.a = Sub()
self.b = Sub()
# append instances to sub_list
self.sub_list.append(self.a)
self.sub_list.append(self.b)
class Sub:
# function to remove the instance from sub_list
def remove_self(self):
x.sub_list.remove(self)
x = Main()
# remove instances of Sub() from sub_list
x.a.remove_self()
x.b.remove_self()
私の目標は、それらが作成された別のクラス、のリストから自分自身を削除するメソッドを持つオブジェクトを持つことです。
上記のコードはこれに対応していますが、私はx
を直接使用してメソッドを呼び出す必要があります。私は解決したい
主な問題は、しかし、私は私はもうsub_list
にアクセスすることができないとして、別のファイルにクラスSub
を移動する方法を見つけ出すことができないということです。
これを行うより良い方法はありますか?
サイドノート:私は、Main
が私のMainWindowであり、Sub
は、動的に作成され、閉じられるいくつかのUI要素を表しているPyQtのプロジェクトに取り組んでいます。可能であれば、これらの要素内にすべての機能を保持したいと思います。
感謝をあなたの答えのために!これが 'sub_list'なしで行えるのであれば、私はそうすることができます。私のプロジェクトでは、すべてのインスタンスを追跡し、後ですべてのインスタンスに対して 'submit'メソッドを呼び出す必要があります。これは、追跡するために何らかの種類のデータ構造なしで行うことができますか? – michaelh
@michaelhあなたが現在持っているものは良いです。私の2つの提案された方法のいずれかがあなたのために働くはずです。それがあなたを助けたならば、答えが受け入れられたとマークしてください、そして運が良ければ。 – stybl
私のコードであなたのソリューションを試したところ、完全に動作します。ありがとうございました! – michaelh