Zastanawiam się przez chwilę, czy istnieje łatwiejszy sposób przypisania atrybutów klas do metody lokalnej przestrzeni nazw. Na przykład, w dosomething
metody, ja wyraźnie odwołują się do self.a
i self.b
:Python importuje atrybuty klas do metody lokalnej przestrzeni nazw
class test:
def __init__(self):
self.a = 10
self.b = 20
def dosomething(self):
a = self.a
b = self.b
return(a + b)
Ale czasami mam wiele zmiennych (ponad 10) i robi się bałagan na rodzaj i patrzeć - Chciałbym mieć kilka instrukcji var = self.var
na początku metody.
Czy istnieje sposób na bardziej kompaktowy sposób? (Wiem aktualizowania local()
nie jest dobrym pomysłem)
Edycja: Najlepiej, co chcę jest:
def dosomething(self):
populate_local_namespace('a', 'b')
return(a + b)
Dlaczego próbujesz to zrobić w pierwszej kolejności?Co jest złego w przypadku jednoliniowej metody "dosomething", która wygląda jak "return (self.a + self.b)"? Jaką korzyść z tego możesz się spodziewać? – rmunn
Mam swoje powody - szczególnie, że wykonuję skomplikowane obliczenia i wiele wyrażeń "self" jest bardzo długich i brzydkich. – joon