pythonで下記のようなクラス構造を書くとclass Bでclass Aの名前解決が出来ません。Class A.BともにClass Cの外に出せば名前解決が出来るのですが、両クラスはclass C内部でしか使用しないため、このインナー構造を保ちたいです。どのようにすれば解決できるでしょうか?
・試したこと
class A,Bを外に出す
→解決するが、上記のように望んでいる形ではない
class B内でClass Aを定義する
→解決するが、Class Bの変数にClass Aが追加されてしまう
参照時にアウタークラス名をつける(C.A)
→解決しない
python
1class C: 2 @dataclass 3 class A: 4 a1: int 5 a2: int 6 7 class B(Enum) 8 b1 = A(a1=3, a2=4) 9 b2 = A(a1=4, a2=5)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/09 11:59