PHP-GTK アプリケーションを Python に変換するには、PHP 配列と可能な限り密接に機能する辞書が必要です。検索と試行の後、dict を myDict() クラスにサブクラス化し、この作業を行う機能である最初の重要な機能を実装しました。
dict1 = myDict()
dict1[foo1][foo2][foo3] = 1
これは myDict() クラスに実装されています。
class myDict(dict) :
def __missing__(self, arg) :
self.__setitem__(arg, myDict())
return self.__getitem__(arg)
今、問題があります。PHP で未定義のキーを取得しようとすると、Null が返されます (Python では None に相当します)。標準の Python dict では、エラーが返されます。私のmyDict辞書では、残念ながら空のmyDictを返します
toto2 = myDict()
x = toto2["a"]["b"]
print x
{} このコードに相当する PHP は Null を返すため、x の値として None を返す上記の Python コードが必要です。
None を返すというアイデアはまだ見つかりません。が None を返す場合__missing__
、2 行目でエラーが発生するためです: NoneType is unsubscriptable.
誰かがこれを解決するアイデアを持っているなら、私は感謝します.PHPのこの「魔法」をエミュレートするための解決策を探している月があります.