Mam klasę Python, która ma atrybuty o nazwie: date1, date2, date3, itp.Jak dynamicznie komponować i uzyskiwać dostęp do atrybutów klas w Pythonie?
W czasie wykonywania, mam zmienną i, która jest liczbą całkowitą.
Co chcę zrobić, to uzyskać dostęp do odpowiedniego atrybutu daty w czasie wykonywania na podstawie wartości i.
Na przykład
gdybym == 1, chcę, aby uzyskać dostęp myobject.date1
gdybym == 2, chcę, aby uzyskać dostęp myobject.date2
I chcę zrobić coś podobnego do klasy zamiast atrybutu.
Na przykład mam kilka klas: MyClass1, MyClass2, MyClass3, itp. I mam zmienną k.
jeśli k == 1, chcę instancję nową instancję MyClass1
jeśli k == 2, chcę instancję nową instancję MyClass2
W jaki sposób można to zrobić?
EDIT
Mam nadzieję unikać giganta if-then-else, aby wybrać odpowiedni atrybut/klasę.
Czy istnieje sposób w języku Python do komponowania nazwy klasy w locie przy użyciu wartości zmiennej?
Proszę edytować to pytanie. Przeczytaj wskazówki dotyczące formatowania po prawej stronie. Proszę poprawnie sformatować swój kod. –
Proszę sformatować to pytanie poprawnie. Chcę upublicznić to jako przydatne pytanie, ponieważ jest to bardzo ładny przykład metaprogramowania i introspekcji. Ale wymaga edycji. –