Przejdź do treści głównej

Zmienne

Deklaracja zmiennych

W Pythonie bezpiecznie jest myśleć o zmiennych jak o etykietach wskazujących nam na jakąś zawartość. Ta sama zawartość może mieć wiele etykiet (czyli kilka zmiennych może wskazywać na te same dane - warto jednak takich sytuacji unikać).

Zmienne deklarujemy wg. poniższego schematu:

nazwa_zmiennej = zawartość

Znak równości służy więc do przypisania nazwy (którą umieszczamy po lewej stronie znaku) do jakiegoś obiektu (który umieszczamy po prawej stronie znaku) np.

moj_zwierzak="pies"

W powyższym przykladzie moj_zwierzak to nazwa zmiennej (którą będziemy wykorzystywać w programie) a "pies" to zawartość.

Tworząc nazwę MUSIMY przestrzegać kilku zasad:

  • nazwa nie może zawierać większości znaków specjalnych (w tym spacji - można zastąpić j ą _)
  • nie może składać się z samych liczb, ani zaczynać od nich

Dobrą praktyką jest:

  • używanie jedynie małych liter
  • jeśli chcemy aby nazwa składała się z kilku słów oddzielamy je "podłogą" (czyli _)
  • nadawanie nazw, które dobrze oddają zawartość (nie powinny jednak być przesadnie długie)
  • unikanie polskich znaków

Dynamiczne typy zmiennych

Zwróć uwagę, że raz zadeklarowana zmienna MOŻE zmienić swój typ - np. coś co wskazywało na liczbę chwilę później może wskazywać na tekst. Czyli w Pythonie taka operacja wykona się poprawnie:

moja_zmienna = 1
moja_zmienna = "pies"

W wielu innych językach (tzw. statycznie typowanych) taki zapis byłby niepoprawny - jeśli raz przypisalibyśmy do zmiennej np. liczbę to przez cały cykl życia aplikacji trzeba by było się tego trzymać.

Mimo tej możliwości którą daje Python zazwyczaj dobrą praktyką jest trzymanie pod danąutworzoną zmienną jednego typu danych.

Print

  • służy do wyświetlania na ekranie reprezentacji obiektu (np. do wyświetlania tekstu)
  • składnia wygląda następująco:

print(zawartość_do_wyświetlenia)

np.

zdanie = "To jakiś tekst"

spowoduje wyświetlenie następującej zawartości w terminalu:

To jakiś tekst

Należy pamiętać o pisaniu polecenia z małej litery - czyli print jest ok, podczas gdy np. Print nie zostanie rozpoznane (w większości języków programowania wielkość liter ma znaczenie).

Input

  • służy do umożliwienia użytkownikowi wprowadzenia jakiejś zawartości
  • wszystko co zostanie wprowadzone w ten sposób będzie traktowane jako tekst(!), jeśli chcemy wprowadzić z wykorzystaniem input liczbę musimy dokonać konwersji z tekstu na np. liczbę całkowitą, lub zmiennoprzecinkową
  • składnia wygląda następująco:

nazwa_zmiennej = input ("opcjonalny_komunikat dla użytkownika")

np.

imie_gracza = input("Wprowadz imię: ")

Typy podstawowe

Typy określają wspólne cechy obiektów, metody z nimi związane. Dzięki nim programiści wiedzą jakie operacje na nich są dozwolone (a jakie nie). Są więc bardzo przydatnym środkiem komunikacji przy pisaniu aplikacji.

Python obsługuje następujące typy podstawowe:

Liczby całkowite (integer)

Liczy naturalne (1, 2, 3, 4...) i przeciwne do nich (-1, -2, -3) oraz zero.

Przypisując do zmiennej liczbę całkowitą po prostu podajemy ją po znaku równości np.

moja_liczba = 12

Liczby zmiennoprzecinkowe (float)

Liczby zapisane z "częścią ułamkową". Ważne - część ułamkowa zapisana jest po KROPCE, nie po przecinku.

moja_liczba = 22.15

Ciągi znaków (string)

Seria znaków zapisana między cudzysłowami pojedynczymi, lub podwójnymi (nie można ich jednak mieszać!) np.

moj_tekst = "To tylko tekst."

Wartości logiczne (bool)

Wartości prawda / fałsz zapisane jako True / False (istotna jest wielkość znaków!).

np.

gra_gotowa =  True

Podstawowe operacje

Podstawowe operatory to:

dodawanie + 

odejmowanie -

mnożenie *

dzielenie / 

modulo % (reszta z dzielenia)

Można ich używać na:

integer float string bool
+ tak tak tak tak
- tak tak nie tak
* tak tak tak, ale... tak
/ tak tak nie -
% tak tak nie -

W przypadku ciągu znaków (string) możemy wykonać operację mnożenia przez liczbę - powtórzy nam to dany tekst wskazaną ilość razy. Nie można jednak mnożyć ciągu znaków przez ciąg znaków.

Wartości logiczne True / False są równoważne 1 i 0 - stąd też da się wykonać operacje dzielenia, czy modulo... z założeniem, że nie dzielimy przez 0 ;) .

Odnośniki

„3.12.5 Documentation”. Dostęp 18 sierpień 2024. https://docs.python.org/3/.

Viafore, Patrick. Robust Python: write clean and maintainable code. First edition. Beijing [China]; Boston [MA]: O’Reilly, 2021.

„Zmienna (informatyka)”. W Wikipedia, wolna encyklopedia, 15 kwiecień 2024. https://pl.wikipedia.org/w/index.php?title=Zmienna_(informatyka)&oldid=73515366.

„Magic Python: Mutable vs Immutable and How To Copy Objects”. Dostęp 18 sierpień 2024 https://alexkataev.medium.com/magic-python-mutable-vs-immutable-and-how-to-copy-objects-908bffb811fa