2022-04-24

Myśląc o Pythonie: Nazewnictwo

Każdy język programowania ma pewne obostrzenia, co do nazewnictwa różnego typu struktur, czy to zmiennych, czy to funkcji, a może klas, czy innych obiektów. Wynika to między innymi z tego, że kompilatory czy interpretery muszą być w stanie rozróżnić co jest czym, czy coś jest właśnie jakimś nazwanym przez Nas obiektem, czy po prostu słowem kluczowym języka programowania (czyli częścią składni).

Nazywanie zmiennych i nie tylko

W Pythonie, jak w dużej częście języków programowania, po pierwsze rozróżniamy wielkie i małe litery, to znaczy, że zmienna o nazwie Piotr i piotr to dwie różne zmienne, dwa różne obiekty (w Pythonie wszystko jest obiektem).

Kolejny warunek jest prosty, w Pythonie do nazywania rzeczy, czyli tworzenia tzw. identyfikatorów możemy używać znaków alfanumerycznych, czyli też cyfr. Z tym, że owe cyfry, nie mogą znajdować się na początku danego identyfikatora. Innymi słowy, nie możemy stworzyć zmiennej o nazwie 1a, ale już nazwać a1 zmienną jak najbardziej możemy.

Co otrzymamy nazywając zmienną a1

Nie tylko Python na to nie pozwala, ma tak większość języków.

Spacja i rozdzielanie wyrazów

No dobrze, ale co ze zmiennymi, którym chcemy nadać nazwy dwuczłonowe? No właśnie, w Pythonie mamy takie coś jak string, czyli tekst, który możemy objąć w cudzysłowie: "to jest jakiś tekst", natomiast string taki nie może być nazwą zmiennej w Pythonie. Zmienna w Pythonie, ma nazwę wpisaną z palca, tak po prostu, jak Nasze wspomniane a1. I moglibyśmy napisać mojazmienna, ale jest to mało czytelne. Czy mogę napisać moja zmienna? Oczywiście także nie, bo byłyby to dla interpretera Pythona dwie osobne zmienne o nazwach moja i zmienna.

Możemy oczywiście użyć tutaj taktyki, która była niegdyś stosowana na blogach, czyli mojaZmienna. Jest to jak najbardziej prawidłowa zmienna, i możemy rozróżnić poszczególne słowa. I tak, jest to jeden z dwu sposobów zapisu, zwany Camel case.

No, ale prócz Camel case, istnieje też inny zapis, jeszcze bardziej moim zdaniem, uwidaczniający odrębność członów. Jest to: Snake case, czyli po prostu zastąpienie każdej spacji znakiem underscore, a mówiąc po polskiemu - znakiem podkreślnika: moja_zmienna.

Mamy jeszcze jedną, w zasadzie podstawową rzecz. Prócz wspomnianych wyżej nakazów, zakazów i dobrych praktyk, mamy coś jeszcze. Nie możemy w identyfikatorach używać słów zarezerwowanych dla samego Pythona, tzw. słów kluczowych, takij jak (między innymi): and, in, for i kilku innych. I tutaj jest przydatne kolorowanie składny w naszym edytorze. Zwykle gdy jakieś słówko jest wizualnie wyróżnione przez edytor - jest ono słowem kluczowym. Pełna lista takich słów jest w dokumentacji.

Wszystkie powyższe informacje są stosowane do każdego rodzaju własnego identyfikatora w Pythonie, czyli nazw zmiennych, klas, funkcji i innych obiektów. Ja osobiście w Pythonie najczęściej zmienne nazywam z małych liter, w zgodzie z Samel case. Przyjeło się, że właśnie z wężowy styl jest najbardziej popularny w Pythonie (w końcu wąż w logo coś znaczy 😉 ). Nazwy klas zwykle piszemy z dużej litery, a funkcje mogą pozostać małą.

Dodaj komentarz

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram