Czym są zmienne
Zmienna to symboliczna nazwa, która reprezentuje pewną wartość w pamięci komputera. Możesz myśleć o niej jak o etykiecie na pojemniku. Wkładasz coś do środka, nadajesz nazwę, a potem w każdym momencie możesz się do tego odwołać.
Przykład:
Python1 2 3 4 5a = 10 b = 5 wynik = a + b print(wynik)
Wartość 10 zostaje przypisana do zmiennej a, wartość 5 do b, a ich suma trafia do wynik.
Zmienna nie jest „stała” – możesz ją nadpisać w każdej chwili:
Python1 2 3a = 10 a = 20 print(a)# wynik to 20
Zmienna działa podobnie jak pojęcie z matematyki. Jeśli znasz wzór na pole trapezu:
P = ((a + b) × h) / 2
to a, b i h to właśnie zmienne. Zmieniasz ich wartości — zmienia się wynik.
W programowaniu logika jest identyczna: definiujesz dane wejściowe, przetwarzasz je, otrzymujesz wynik.
To podejście matematyczne, ale zapisane w języku, który komputer rozumie.
Reguły nazw i dobre praktyki
Python pozwala tworzyć nazwy zmiennych prawie dowolnie, ale są pewne zasady:
- nazwa nie może zaczynać się od cyfry
- może zawierać litery, cyfry i znak podkreślenia
_ - wielkość liter ma znaczenie (
wiekiWiekto różne zmienne) - warto używać nazw opisowych:
srednia_temperaturazamiastx
To, jak nazywasz zmienne, wpływa bezpośrednio na czytelność Twojego kodu. Dobry programista myśli o innych, którzy będą ten kod czytać — lub o sobie za miesiąc.
Typy danych
Każda wartość w Pythonie ma swój typ, czyli informację o tym, czym jest. Najczęściej spotykane typy to:
int– liczby całkowitefloat– liczby zmiennoprzecinkowestr– tekst (łańcuch znaków)bool– wartości logiczne:TruelubFalse
Przykłady:
Python1 2 3 4liczba = 10# int waga = 70.5# float imie = "Kacper"# str czy_programista = True# bool
Możesz sprawdzić typ zmiennej za pomocą funkcji type():
Python1 2print(type(liczba)) print(type(imie))
Wynik pokaże, jakiego rodzaju dane przechowujesz. To ważne, ponieważ różne typy danych nie zawsze można ze sobą mieszać. Nie dodasz liczby do tekstu:
Python1 2wiek = 30 tekst = "Mam " + wiek + " lat"# błąd!
Aby to naprawić, musisz jawnie zamienić typ liczby na tekst:
Python1tekst = "Mam " + str(wiek) + " lat"
Operatory
Operatory to symbole, które pozwalają wykonywać działania na danych. Python rozumie zarówno operacje matematyczne, jak i logiczne.
Operatory arytmetyczne
Python1 2 3 4 5 6 7 8 9 10a = 10 b = 3 print(a + b) # dodawanie print(a - b) # odejmowanie print(a * b) # mnożenie print(a / b) # dzielenie (wynik float) print(a // b)# dzielenie całkowite (bez części po przecinku) print(a % b) # reszta z dzielenia print(a ** b)# potęgowanie
Operatory przypisania
Python umożliwia skrócone zapisy:
Python1 2 3x = 5 x += 3# to samo co x = x + 3 x *= 2# x = x * 2
To drobiazg, ale bardzo często spotykany w prawdziwych programach.
Konwersja typów
Czasem musisz zmienić typ danych. Python oferuje proste funkcje:
int()– zamiana na liczbę całkowitąfloat()– zamiana na liczbę zmiennoprzecinkowąstr()– zamiana na tekstbool()– zamiana na wartość logiczną
Przykład:
Python1 2 3tekst = "123" liczba = int(tekst) print(liczba + 10)# 133
Bez konwersji powyższa linia wywołałaby błąd, bo nie można dodać tekstu do liczby.
Wejście i wyjście
Każdy program powinien mieć możliwość komunikacji z użytkownikiem. W Pythonie służą do tego dwie funkcje:
input()– pobiera dane od użytkownikaprint()– wyświetla wynik na ekranie
Python1 2 3imie = input("Jak masz na imię? ") wiek = input("Ile masz lat? ") print("Cześć,", imie + "!", "Masz", wiek, "lat.")
Wszystko, co zwraca input(), jest tekstem, nawet jeśli użytkownik wpisze liczbę.
Dlatego przy obliczeniach należy przekształcić dane:
Python1 2 3 4 5a = float(input("Podaj pierwszą liczbę: ")) b = float(input("Podaj drugą liczbę: ")) suma = a + b print("Suma liczb wynosi:", suma)
Jak myśli Python
Python działa sekwencyjnie — wykonuje kod linijka po linijce, od góry do dołu. Nie „rozumie” kontekstu ani intencji. Robi tylko to, co mu każesz.
Każdy program można rozłożyć na trzy etapy:
- Wejście danych (Input) – pobierasz coś od użytkownika lub z pliku
- Przetwarzanie (Processing) – wykonujesz działania, obliczenia, logikę
- Wyjście danych (Output) – prezentujesz wynik
W praktyce wygląda to tak:
Python1 2 3 4 5 6 7a = float(input("Podaj długość podstawy: ")) b = float(input("Podaj długość drugiej podstawy: ")) h = float(input("Podaj wysokość: ")) pole = (a + b) * h / 2 print("Pole trapezu wynosi:", pole)
To prosty, ale kompletny program: przyjmuje dane, przetwarza je i pokazuje wynik. Python nie domyśla się niczego — każdy krok musi być jawnie zapisany.
Myślenie jak programista
Uczenie się Pythona to nie tylko nauka składni, ale przede wszystkim zmiana sposobu myślenia. Programowanie przypomina matematykę — ale zamiast liczyć wynik raz, tworzysz model obliczeń, który komputer może powtarzać w nieskończoność.
Każdy program to zestaw reguł, które opisują zależności między danymi. W matematyce piszesz: P = ((a + b) × h) / 2 W Pythonie zapisujesz to samo — tyle że dynamicznie, z możliwością zmiany wartości.
Kiedy zrozumiesz, że komputer nie myśli jak człowiek, lecz wykonuje kroki mechanicznie, przestaniesz popełniać błędy wynikające z ludzkich założeń. Twój kod będzie prosty, zrozumiały i przewidywalny — dokładnie tak, jak oczekuje tego Python.
Ćwiczenie
Napisz program, który poprosi użytkownika o imię, wiek i ulubioną liczbę. Niech wyświetli zdanie w stylu:
„Cześć, Kacper! Za 10 lat będziesz mieć 35 lat, a Twoja liczba 7 razy 3 to 21.”
Python1 2 3 4 5 6 7imie = input("Jak masz na imię? ") wiek = int(input("Ile masz lat? ")) liczba = int(input("Jaka jest Twoja ulubiona liczba? ")) print("Cześć,", imie + "!") print("Za 10 lat będziesz mieć", wiek + 10, "lat.") print("A Twoja liczba", liczba, "razy 3 to", liczba * 3, ".")
To proste ćwiczenie łączy wszystko, czego się nauczyłeś: zmienne, typy danych, konwersje, operatory oraz wejście i wyjście. W ten sposób zaczynasz myśleć jak programista — ktoś, kto nie tylko liczy, ale tworzy procesy logiczne, które mogą działać samodzielnie.
PEP 8 i konwencje stylu
Trzymaj się podstawowych zasad PEP 8, aby kod był czytelny i spójny:
- nazewnictwo zmiennych i funkcji w
snake_case - spacje wokół operatorów:
a + b,x *= 2 - wcięcia: 4 spacje na poziom
- maks. długość linii około 79–99 znaków
Przykład zgodny z PEP 8:
Python1 2 3def oblicz_pole_trapezu(podstawa_a: float, podstawa_b: float, wysokosc: float) -> float: suma_podstaw = podstawa_a + podstawa_b return suma_podstaw * wysokosc / 2
F-stringi (formatowanie napisów)
F-stringi są najwygodniejszym sposobem interpolacji wartości w tekście:
Python1 2 3imie = "Kacper" wiek = 30 print(f"Cześć, {imie}! Masz {wiek} lat.")
Możesz też formatować liczby:
Python1 2pi = 3.1415926535 print(f"Pi ≈ {pi:.2f}")# Pi ≈ 3.14
Walidacja wejścia i błędy konwersji
Konwersja np. int("abc") podniesie ValueError. Warto obsłużyć to elegancko:
Python1 2 3 4 5 6wejscie = input("Podaj liczbę całkowitą: ").strip() try: liczba = int(wejscie) print(f"Podałeś liczbę: {liczba}") except ValueError: print("To nie jest poprawna liczba całkowita.")
Wskazówka: używaj strip() do usunięcia przypadkowych spacji i znaków nowej linii.
Szybkie testowanie w REPL
Do krótkich eksperymentów używaj wbudowanego REPL (np. python w terminalu) albo edytora/IDE z konsolą Pythona. Pozwala to szybko uruchamiać fragmenty kodu i sprawdzać ich działanie.
Ćwiczenie rozszerzone
Rozbuduj wcześniejsze zadanie: zweryfikuj wejście użytkownika, użyj f-stringów i sformatuj wynik do 2 miejsc po przecinku.
Python1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23imie = input("Jak masz na imię? ").strip() wiek_txt = input("Ile masz lat? ").strip() liczba_txt = input("Jaka jest Twoja ulubiona liczba? ").strip() def to_int(txt: str) -> int | None: try: return int(txt) except ValueError: return None wiek = to_int(wiek_txt) liczba = to_int(liczba_txt) if wiek is None or liczba is None: print("Podaj poprawne liczby dla wieku i ulubionej liczby.") else: za_10_lat = wiek + 10 iloczyn = liczba * 3 print(f"Cześć, {imie}!") print(f"Za 10 lat będziesz mieć {za_10_lat} lat.") print(f"A Twoja liczba {liczba} razy 3 to {iloczyn:.2f}.")
Podsumowanie
- Poznałeś zmienne, typy danych, operatory oraz wejście/wyjście.
- Zobaczyłeś, jak Python wykonuje program sekwencyjnie: wejście → przetwarzanie → wyjście.
- Nauczyłeś się konwertować typy i unikać typowych błędów (np. łączenie liczby z tekstem).
- Wprowadziłeś dobre praktyki: PEP 8,
strip()na wejściu, obsługaValueError. - Poznałeś f-stringi do czytelnego formatowania tekstu i liczb.
Następny krok: warunki (if/elif/else) i pętle (for, while) do budowania bardziej złożonej logiki.


