Uczyłem się Pythona, postępując zgodnie z kilkoma samouczkami dotyczącymi pygame .
Tam znalazłem szerokie zastosowanie słowa kluczowego self , a ponieważ wywodzę się głównie z języka Java, stwierdzam, że ciągle zapominam o wpisaniu self . Na przykład zamiast self.rect.centerx
wpisywać rect.centerx
, ponieważ dla mnie rect jest już zmienną składową klasy.
Równoległość Java, o której mogę pomyśleć w tej sytuacji, polega na poprzedzeniu wszystkich odwołań do zmiennych składowych tym .
Czy utknąłem z przedrostkiem wszystkich zmiennych składowych self , czy jest sposób ich zadeklarowania, który pozwoliłby mi uniknąć konieczności robienia tego?
Nawet jeśli to, co sugeruję, nie jest pythonowe , nadal chciałbym wiedzieć, czy jest to możliwe.
Rzuciłem okiem na te powiązane pytania SO, ale nie do końca odpowiadają one, o co mi chodzi:
m_
prefiksu dla wszystkich nazw członków, którą przestrzegają niektórzy programiści C ++ / Java? W self.
podobny sposób użycie ułatwia czytelność. Powinieneś także przeczytać dirtsimple.org/2004/12/python-is-not-java.html .
m_
jest używany tylko dla niepublicznych niestatycznych składowych danych (przynajmniej w C ++).
mVariableName
zmiennych składowych podczas kodowania w Javie. Myślę, że komentarz @ Anurag podsumowuje to całkiem dobrze, ponieważ programista Java powinien zrobić, ucząc się Pythona.