podstawy-programowania

3 marca 2026podstawy5 min czytania

Programowanie to sztuka precyzyjnego myślenia. Nie polega na zapamiętywaniu komend, lecz na zrozumieniu logiki, według której komputer wykonuje polecenia. Python jest doskonałym językiem do nauki, ponieważ pozwala skupić się na rozumieniu procesu, a nie na walce z zawiłą składnią. W tym rozdziale poznasz absolutne fundamenty — zmienne, typy danych, operatory oraz podstawowe instrukcje wejścia i wyjścia. Dzięki temu zrozumiesz, jak Python „myśli” i jak krok po kroku buduje logiczne programy.

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:

Python
1 2 3 4 5 a = 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:

Python
1 2 3 a = 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, bh 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 (wiekWiek to różne zmienne)
  • warto używać nazw opisowych: srednia_temperatura zamiast x

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łkowite
  • float – liczby zmiennoprzecinkowe
  • str – tekst (łańcuch znaków)
  • bool – wartości logiczne: True lub False

Przykłady:

Python
1 2 3 4 liczba = 10# int waga = 70.5# float imie = "Kacper"# str czy_programista = True# bool

Możesz sprawdzić typ zmiennej za pomocą funkcji type():

Python
1 2 print(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:

Python
1 2 wiek = 30 tekst = "Mam " + wiek + " lat"# błąd!

Aby to naprawić, musisz jawnie zamienić typ liczby na tekst:

Python
1 tekst = "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

Python
1 2 3 4 5 6 7 8 9 10 a = 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:

Python
1 2 3 x = 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 tekst
  • bool() – zamiana na wartość logiczną

Przykład:

Python
1 2 3 tekst = "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żytkownika
  • print() – wyświetla wynik na ekranie
Python
1 2 3 imie = 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:

Python
1 2 3 4 5 a = 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:

  1. Wejście danych (Input) – pobierasz coś od użytkownika lub z pliku
  2. Przetwarzanie (Processing) – wykonujesz działania, obliczenia, logikę
  3. Wyjście danych (Output) – prezentujesz wynik

W praktyce wygląda to tak:

Python
1 2 3 4 5 6 7 a = 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.”

Python
1 2 3 4 5 6 7 imie = 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:

Python
1 2 3 def 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:

Python
1 2 3 imie = "Kacper" wiek = 30 print(f"Cześć, {imie}! Masz {wiek} lat.")

Możesz też formatować liczby:

Python
1 2 pi = 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:

Python
1 2 3 4 5 6 wejscie = 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.

Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 imie = 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ługa ValueError.
  • 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.