1.1. Co to są zmienne?
W Pythonie zmienne to nazwy przypisane obiektom, które są używane do przechowywania, zmieniania i uzyskiwania dostępu do danych w programie. Python jest językiem dynamicznie typowanym. Oznacza to, że typ zmiennej określa się w momencie przypisania jej wartości, i ten typ może się zmieniać w trakcie wykonania programu.
Podstawowe aspekty zmiennych w Python:
1. Deklaracja i przypisanie:
W Pythonie zmienne nie wymagają deklaracji do rezerwacji pamięci. Przypisanie wartości zmiennym automatycznie rezerwuje pamięć i określa ich typ. Na przykład, x = 10
tworzy zmienną o nazwie x
i przypisuje jej wartość 10
.
2. Nazewnictwo:
Nazwy zmiennych powinny być opisowe i przestrzegać zasad Python dla identyfikatorów, na przykład, nie mogą zaczynać się od cyfr ani zawierać specjalnych znaków, z wyjątkiem podkreślenia.
Przykłady:
name1 = "Alex" | name1 — dobra nazwa. |
---|---|
user_age = 5 | user_age — dobra nazwa. |
%city% = 7 | %city% — zła nazwa, zawiera znaki specjalne. |
1234qwerty = 1234 | Zła nazwa — zaczyna się od cyfry. |
3. Dynamiczne typowanie:
Jak już wspomnieliśmy, typ zmiennej w Pythonie jest określany w czasie wykonania programu, co czyni język elastycznym i wygodnym do tworzenia. Przykład zmiany typu w trakcie programu: kod x = 10
przypisuje x
wartość liczbową, a następnie kod x = "hello"
przypisuje x
wartość tekstową.
Przykłady:
age = "Alexander" | Zmienna age zawiera wartość — tekst „Alexander” |
---|---|
age = 35 | Zmienna age zawiera wartość — liczba 35 |
age = "London" | Zmienna age zawiera wartość — tekst „London” |
age = 3.14 | Zmienna age zawiera wartość — liczba zmiennoprzecinkowa 3.14 |
4. Naturalna odwołanie zmiennych:
W Pythonie zmienne są odniesieniami do obiektów. Oznacza to, że kiedy zmiennej przypisuje się wartość, w rzeczywistości tworzy się odniesienie do obiektu o tej wartości. Jeśli zmienne x
i y
wskazują ten sam obiekt, jakiekolwiek zmiany dokonane za pomocą x
, odzwierciedlą się również na y
, ponieważ obie zmienne odnoszą się do tego samego obiektu w pamięci.
5. Zakres widoczności:
Zakres widoczności zmiennej określa część programu, w której zmienna jest dostępna. Python wspiera lokalne, globalne i nie-lokalne (w kontekście zagnieżdżonych funkcji) zmienne. Tę i poprzednią kwestię omówimy szczegółowo, ale trochę później. Nie wszystko na raz.
6. Zarządzanie pamięcią:
Python automatycznie zarządza pamięcią zmiennych za pomocą garbage collectora, który śledzi i zwalnia nieużywaną pamięć.
7. Niezmienność obiektów:
Niektóre typy danych w Pythonie, takie jak łańcuchy znaków i krotki, są niezmienne. To znaczy, że ich zawartości nie można zmienić po utworzeniu. Wszelkie próby zmiany takich danych skutkują utworzeniem nowego obiektu.
8. Wielokrotne przypisanie:
W Pythonie można wykonać kilka operacji przypisania w jednej linii. Przykłady:
x = 1 | |
---|---|
y = 2 | x, y, z = 1, 2, 3 |
z = 3 |
1.2. Typy danych
Python obsługuje kilka podstawowych typów danych, które są używane do przechowywania i manipulacji danymi w programach. Należą do nich int
, str
, float
, i bool
.
int (liczby całkowite)
Typ danych int
jest używany do reprezentowania liczb całkowitych bez części ułamkowej. Może przechowywać wartości dodatnie i ujemne. Na przykład, x = 5 przypisuje zmiennej x liczbę całkowitą 5.
str (łańcuchy znaków)
Typ str
jest używany do przechowywania informacji tekstowej, lub łańcuchów znaków. Łańcuchy w Pythonie są zawarte w pojedyncze lub podwójne cudzysłowy. Na przykład, name = "John" przypisuje zmiennej name łańcuch "John". Łańcuchy w Pythonie obsługują wiele operacji, takich jak konkatenacja i powielanie, oraz szereg metod do przetwarzania tekstu.
float (liczby zmiennoprzecinkowe)
Typ float
w Pythonie jest używany do reprezentowania liczb z przecinkiem, czyli liczb, które zawierają część ułamkową. Te liczby zapisuje się z użyciem kropki dziesiętnej. Na przykład, pi = 3.14 przypisuje zmiennej pi wartość liczby π, zaokrągloną do dwóch miejsc po przecinku.
bool (wartości logiczne)
Typ danych bool
przyjmuje jedną z dwóch wartości: True (Prawda)
lub False (Fałsz)
. Jest często używany do kontrolowania wykonania warunków w sytuacjach, takich jak instrukcje warunkowe i pętle. Na przykład, is_valid = True wskazuje, że zmienna is_valid ma wartość logiczną True
.
Te typy danych stanowią podstawę do budowy bardziej złożonych struktur danych i algorytmów w Pythonie, pozwalając programistom efektywnie zarządzać danymi i logiką w swoich programach.
1.3. Nazwy zmiennych
W Pythonie, nazwy zmiennych to nie tylko sposób na odniesienie się do danych, są one kluczowym elementem kodu, który czyni go zrozumiałym i łatwym do utrzymania. Właściwy wybór nazw zmiennych może znacznie ułatwić zrozumienie kodu i jego późniejsze debugowanie, a zły wybór może prowadzić do zamieszania i błędów.
Podstawowe zasady nazewnictwa zmiennych w Python:
Używaj zrozumiałych nazw: Nazwa zmiennej powinna odzwierciedlać dane, które zawiera, aby kod był łatwy do odczytu. Na przykład, coun t
jest lepsze niż x
, jeśli zmienna jest używana do zliczania czegoś.
Przestrzegaj standardów stylu: Powszechnym standardem w Pythonie jest PEP 8, który zaleca używanie małych liter z podkreśleniami w nazwach zmiennych (np. my_variable
).
Unikaj konfliktów z słowami kluczowymi: Nie używaj słów, które Python zarezerwował dla swojej składni, takich jak if
, else
, class
, return
itp. Może to prowadzić do błędów w wykonaniu.
Używaj krótkich nazw dla zmiennych lokalnych: Dla zmiennych lokalnych, używanych w małych blokach kodu, krótkie nazwy, takie jak i
lub j
, często pasują i czynią kod bardziej zwarty.
Używaj długich i opisowych nazw dla zmiennych globalnych: Zmienne globalne i stałe, które są używane w wielu częściach programu, powinny mieć dłuższe i bardziej opisowe nazwy, aby ich przeznaczenie było jasne.
Przykłady dobrych nazw zmiennych:
user_age
zamiast age
(jeśli w kontekście może być kilka wieków)
total_price
zamiast total
(precyzuje, że to właśnie cena)
max_height
lub min_height
zamiast max_h
lub min_h
Specjalne przypadki:
W wielu algorytmach, zwłaszcza matematycznych i naukowych, często używa się jednowyrazowych zmiennych (np. x
, y
, z
dla współrzędnych). Jest to dopuszczalne, gdy taki styl jest standardem branżowym i zwiększa zrozumienie kodu.
Nazwy zmiennych w Pythonie odgrywają ważną rolę w tworzeniu efektywnego, trwałego i łatwego w utrzymaniu kodu. Dlatego nie bądź leniwy i staraj się wymyślać dobre nazwy. Dzięki temu znacznie uprościsz proces debugowania i utrzymania swojego kodu, a także uczynisz go bardziej dostępnym dla innych programistów.
GO TO FULL VERSION