2017-02-26 4 views
0

私は、Kivy(またはPython)がクラスのこれらすべてのインスタンスをどこに保持しているのでしょうか?そして、私はどのようにクラスから 'homebase'を参照するのですか?Kivyは__main__からクラスのすべてのインスタンスをどこに保存しますか?

たとえば、メソッド内のselfは、クラスのインスタンスを直接呼び出します。これは、オブジェクト自体を直接変更できるので、本当に役立ちます。

しかし、別のクラスからメソッドを作成している場合、コードを記述しなかったので、.kvコードの他のすべてのインスタンスを含むリスト/ dictを見つける方法がわかりません。

コードをファイリングキャビネットのようなものにすると、コードからインスタンス化された個々のインスタンスをどのフォルダで引き出すことができるのだろうかと思います。

私の代わりに.kvファイルからインスタンス化するKivyの傾向が特にあります。私はクラスからインスタンス化されたすべてのオブジェクトをどこに置くのだろうか。など

+0

これについて少し詳しく説明できますか? – Leva7

+0

(編集済み)たとえば、メソッド内から 'self'を呼び出すと、クラスのインスタンスが直接呼び出されます。コードがファイリングキャビネットのようなものだった場合、コードからインスタンス化された個々のインスタンスをどのフォルダから引き出すことができるのだろうかと思います。 特に、私のために.kvファイルからインスタンス化するKivyの傾向が与えられました。私はクラスからインスタンス化されたすべてのオブジェクトをどこに置くのだろうか。 –

+0

ヘルプがありませんか? :(うーん。 –

答えて

0

それも、文字列を返すので、アクセス可能なすべてのインスタンスにアクセスするために使用locals()globals()が、しかし、それは一種のトリッキーだ、int型、何ができることは、再帰的に辞書を調べると、それぞれの新しい再帰呼び出しの前にこれを行うです:

if not isinstance(key, (int, str, ...)): 
    dig_deeper() 

すべてのインスタンスを調べて基本的に見つける方法を提供するはずです。以下のようなものがあった場合は、:

FloatLayout() 

または

Color() 

または変数として別の場所に保存されていないものは、あなたがそれにアクセスすることができない場合があります。 Color()は、canvasのどこかに保存されるため、どこを見ても分かりやすいはずです。

関連する問題