2

Zmienne – jak zapamiętać wartość i użyć jej ponownie

Materiały tej lekcji są na razie tylko do czytania na stronie. Kod przepisz albo skopiuj do swojego edytora.

Czego się nauczysz

Na poprzedniej lekcji wpisywałeś wartości wprost do polecenia print. Gdy ta sama wartość ma pojawić się w programie pięć razy, wpisywanie jej pięć razy jest niewygodne, a poprawianie w pięciu miejscach kończy się pomyłką. Zmienne rozwiązują ten problem – i są fundamentem wszystkiego, co robimy przez resztę roku.

Po tej lekcji:

Zmienna to nazwa dla wartości

Zapis jest krótki: nazwa, znak równości, wartość. Python zapamiętuje wartość i wiąże ją z nazwą. Od tej chwili w każdym miejscu programu możesz napisać samą nazwę.

imie = "Anna"
wiek = 17
print(imie)        # Anna
print("imie")      # imie
print(imie, wiek)  # Anna 17
print("imie") wypisze słowo imie. print(imie) wypisze to, co siedzi w zmiennej. Tę różnicę trzeba widzieć od razu.

Znak = nie oznacza równości

Czytaj go jako „przypisz”. Zapis wiek = 17 nie mówi „wiek jest równy 17”, tylko: weź wartość 17 i włóż ją do zmiennej wiek. Działanie idzie z prawej strony w lewą.

wiek = 17
za_rok = wiek + 1      # najpierw obliczenie, potem przypisanie
licznik = 0
licznik = licznik + 1  # weź obecną wartość, dodaj 1, wstaw z powrotem

Zapis licznik = licznik + 1 jako równanie matematyczne nie ma sensu. Jako polecenie ma sens – i będziesz go używać w każdej pętli.

Nazwy zmiennych – co wolno, a co nie

Python rozróżnia wielkość liter: wiek i Wiek to dwie różne zmienne. Dobra nazwa oszczędza komentarz – jeśli zmienna nazywa się cena_brutto, nikomu nie trzeba tłumaczyć, co w niej jest.

Wartość można zmieniać

Dlatego nazywa się „zmienna”. Kolejne przypisanie do tej samej nazwy nadpisuje poprzednią wartość – stara znika bezpowrotnie.

wiek = 17
print(wiek)   # 17
wiek = 18
print(wiek)   # 18

Liczy się to, co było w zmiennej w momencie użycia. To częsta pułapka przy czytaniu cudzego kodu: ta sama nazwa w dwóch miejscach może zawierać dwie różne wartości.

NameError – użyłeś nazwy, której nie ma

Są dwie przyczyny, obie proste:

Naprawa jest zawsze taka sama: porównaj pisownię w obu miejscach albo przenieś przypisanie wyżej. Komunikat podaje nazwę, której Python nie znalazł – to zwykle wystarcza, żeby od razu zobaczyć literówkę.

Spróbuj sam

W kodzie z lekcji usuń # z linii print(nieistniejaca_zmienna) i uruchom program – zobaczysz prawdziwy NameError.

Zadania z lekcji:

  1. Utwórz trzy zmienne: imię, nazwisko i wiek. Wypisz je w jednej linii, rozdzielone przecinkami w poleceniu print.
  2. Utwórz zmienną cena o wartości 100 i drugą, cena_po_rabacie, policzoną jako cena minus 20. Wypisz obie.
  3. Utwórz zmienną licznik o wartości 0. Zwiększ ją trzy razy o jeden i po każdym zwiększeniu wypisz jej wartość.
  4. Popraw program, w którym celowo jest literówka w nazwie zmiennej. Zapisz w komentarzu, jaki komunikat pokazał Python.

Sprawdź się

Na następnej lekcji: typy danych. Okaże się, że 5 i "5" to dla Pythona dwie zupełnie różne rzeczy.

Notatki

PDF
Zadania utrwalające Karta pracy do tej lekcji: zadania sprawdzające i domowe do samodzielnego zrobienia w swoim edytorze · 4 strony.
Zadania utrwalające – Zmienne – jak zapamiętać wartość i użyć jej ponownie
Strona 1 z 4 Strona 2 z 4 Strona 3 z 4 Strona 4 z 4

Prezentacja

Slajd 1 z 9
1 / 9

Kod

Otwórz kod, zmieniaj go i uruchamiaj na stronie – np. usuń # z linii oznaczonej jako błąd i zobacz, co się stanie. „Przywróć” wraca do wersji z lekcji.

PY
demo_02_zmienne.py Kod z lekcji – otwórz, zmieniaj i uruchamiaj; wynik zobaczysz obok kodu.
demo_02_zmienne.py
Wynik programu
Kliknij „Uruchom”, żeby zobaczyć tutaj wynik programu.