Wpis z mikrobloga

Hej Mirki i Mirabelki!

Mam zagwozdkę z #python. Potrzebuję metody dla klasy, która zmienia wartość nieokreślonej zmiennej o 1, bo nie chcę mi się pisać 15-stu metod dla każdej zmiennej:

class JakasKlasa(parent):
nieokreślona ilość zmiennych
def funkcja(self):
self.jedna_ze_zmienny += 1

Jest jakiś sposób na przekazanie do metody klasy nazwę odpowiedniej zmiennej? Przekazanie jej w argumencie nie wchodzi w grę :(
  • 5
ło jezu czemu tak ale da się:

setattr(self, 'jednazezmiennej', getattr(self, 'jednazezmiennej')+1) gdzie jednazezmiennej to argument przekazany do funkcji
via Wykop Mobilny (Android)
  • 0
@Anorax: nie wiem co cpiesz, ale cos robisz zle. Opisz konkretnie jaki problem rozwiazujesz, bo cos czuje, ze masz typowy syndrom XY.
Also: czemu nie mozesz po prostu zwiekszac tej zmiennej bezposrednio na obiekcie?

x = JakasKlasa(); x.jedna_ze_zmiennych += 1
Wystarczy, ze te swoje zmienne (atrybuty obiektu) zainicjalizujesz w __init__