Witaj ponownie, @name! Darwin tutaj. W pierwszej lekcji nauczyłeś/aś się podstaw Pythona. Teraz czas na kolejny krok - zmienne.
Wyobraź sobie, że podczas ekspedycji znajdujesz różne przedmioty:
Każdy z tych przedmiotów ma nazwę i przechowuje wartość. W Pythonie nazywamy to zmiennymi.
1# Kompas wskazuje na północ
2direction = "North"
3
4# Mapa pokazuje współrzędne
5latitude = -3.4653
6longitude = 29.3608
7
8# Liczymy odkryte gatunki
9species_count = 47
10
11# Czy znaleźliśmy rzadki gatunek?
12rare_species_found = TrueW Pythonie tworzenie zmiennej jest proste:
1# Składnia: nazwa_zmiennej = wartość
2
3# Teksty (stringi)
4explorer_name = "Darwin"
5jungle_type = "tropikalna"
6
7# Liczby całkowite (integers)
8team_size = 5
9days_in_jungle = 14
10
11# Liczby zmiennoprzecinkowe (floats)
12temperature = 32.5
13humidity = 78.3
14
15# Wartości logiczne (booleans)
16is_safe = True
17found_water = FalseWażne: Python automatycznie rozpoznaje typ zmiennej! Nie musisz go deklarować.
1# Snake case (zalecane w Pythonie)
2jungle_temperature = 30
3discovered_species = ["Pyton", "Papuga", "Tygrys"]
4
5# Może zawierać litery, cyfry, podkreślniki
6species_1 = "Python regius"
7species_2 = "Panthera tigris"
8rare_species_2024 = "Nowy gatunek"
9
10# Może zaczynać się od podkreślnika
11_private_notes = "Tajne informacje"
12__hidden_treasure = "Skarb"1# Nie może zaczynać się od cyfry
2# 1st_species = "Błąd!" # SyntaxError
3
4# Nie może zawierać spacji
5# jungle temperature = 30 # SyntaxError
6
7# Nie może używać znaków specjalnych
8# species! = "Błąd" # SyntaxError
9# species@ = "Błąd" # SyntaxError
10
11# Nie może być słowem kluczowym Pythona
12# if = 5 # SyntaxError
13# for = 10 # SyntaxError
14# def = "tekst" # SyntaxError1# Tych nazw NIE MOŻESZ używać jako zmiennych:
2False class finally is return
3None continue for lambda try
4True def from nonlocal while
5and del global not with
6as elif if or yield
7assert else import pass
8break except in raise1# ✅ Opisowe nazwy - od razu wiadomo, co przechowują
2daily_temperature = 32
3discovered_species_count = 15
4expedition_start_date = "2024-11-24"
5
6# ❌ Złe nazwy - niejasne, krótkie
7t = 32 # Co to jest t?
8x = 15 # Co oznacza x?
9d = "2024-11-24" # Data czego?
10
11# ✅ Snake case (Python style)
12jungle_humidity_level = 80
13
14# ❌ CamelCase (używane w innych językach, ale w Pythonie dla klas)
15jungleHumidityLevel = 80 # Nie dla zmiennych!
16
17# ✅ Długie nazwy są OK, jeśli są opisowe
18number_of_rare_species_discovered_in_2024 = 3 # Jasne!1explorer_name = "Darwin"
2expedition_day = 5
3
4# Zwykły print
5print(explorer_name) # Darwin
6print(expedition_day) # 5
7
8# Print z tekstem
9print("Badacz:", explorer_name) # Badacz: Darwin
10
11# F-string (najlepszy sposób!) - Python 3.6+
12print(f"Witaj, {explorer_name}!")
13# Witaj, Darwin!
14
15print(f"Dzień ekspedycji: {expedition_day}")
16# Dzień ekspedycji: 5
17
18# Złożone f-stringi
19species_found = 12
20days = 3
21print(f"Odkryliśmy {species_found} gatunków w {days} dni!")
22# Odkryliśmy 12 gatunków w 3 dni!Zmienne mogą zmieniać wartość (dlatego się nazywają "zmiennymi"!):
1# Dzień 1 ekspedycji
2species_count = 5
3print(f"Dzień 1: {species_count} gatunków") # 5
4
5# Dzień 2 - znaleźliśmy więcej
6species_count = 12
7print(f"Dzień 2: {species_count} gatunków") # 12
8
9# Dzień 3 - dodajemy nowe odkrycia
10species_count = species_count + 7 # 12 + 7 = 19
11print(f"Dzień 3: {species_count} gatunków") # 19Python pozwala na sprytne przypisania:
1# Przypisanie wielu zmiennych w jednej linii
2x, y, z = 10, 20, 30
3print(f"x={x}, y={y}, z={z}") # x=10, y=20, z=30
4
5# Ta sama wartość dla wielu zmiennych
6a = b = c = 0
7print(f"a={a}, b={b}, c={c}") # a=0, b=0, c=0
8
9# Zamiana wartości (swap)
10first = "A"
11second = "B"
12print(f"Przed: first={first}, second={second}") # A, B
13
14first, second = second, first # Magiczna zamiana!
15print(f"Po: first={first}, second={second}") # B, ACzasem potrzebujemy danych od użytkownika:
1# Proste pytanie
2name = input("Jak masz na imię? ")
3print(f"Witaj, {name}!")
4
5# Input ZAWSZE zwraca string (tekst)!
6age_text = input("Ile masz lat? ")
7print(type(age_text)) # <class 'str'>
8
9# Konwersja na liczbę
10age = int(age_text) # Zmiana string → int
11print(f"Za rok będziesz mieć {age + 1} lat")WAŻNE: `input()` zawsze zwraca string! Jeśli potrzebujesz liczby, musisz ją przekonwertować.
1# Program: Dziennik badacza
2print("=== Dziennik Ekspedycji ===")
3
4# Zbieramy dane
5explorer_name = input("Imię badacza: ")
6location = input("Lokalizacja: ")
7species_found = int(input("Ile gatunków odkryłeś/aś dzisiaj? "))
8temperature = float(input("Temperatura (°C): "))
9notes = input("Notatki z dnia: ")
10
11# Wyświetlamy raport
12print("\n--- RAPORT DZIENNY ---")
13print(f"Badacz: {explorer_name}")
14print(f"Lokalizacja: {location}")
15print(f"Odkryte gatunki: {species_found}")
16print(f"Temperatura: {temperature}°C")
17print(f"Notatki: {notes}")
18print("--- KONIEC RAPORTU ---")Spróbuj samodzielnie stworzyć program, który:
W tej lekcji nauczyłeś/aś się:
Przed przejściem dalej, upewnij się, że:
W następnej lekcji Darwin pokaże Ci typy danych - jak klasyfikować odkrycia w dżungli! 🌴🐍