0Pricing
Python Academy · Lekcja

Krotki i niezmienność

Proszę zrozumieć krotki, ich niezmienność oraz sytuacje, w których warto wybrać je zamiast list.

Krotki i niezmienność to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.

Wprowadzenie

Krotki to uporządkowane, niemutowalne sekwencje. Po ich utworzeniu nie można zmieniać ich elementów.

Tworzenie krotek

t = (1, 2, 3) lub t = 1, 2, 3 (nawiasy są opcjonalne). Krotka jednoelementowa wymaga końcowego przecinka: t = (1,).
t = (1, 2, 3)
singleton = (42,)
print(t, singleton)

Niezmienność krotek

t[0] = 99 zgłasza TypeError. Krotek nie można modyfikować po utworzeniu. To ich najważniejsza cecha.
t = (1, 2, 3)
# t[0] = 99  # TypeError
print(t[0])

Indeksowanie i wycinanie krotek

t[0], t[-1], t[1:3] działają tak samo jak w przypadku list. Krotki obsługują wszystkie operacje odczytu.
t = (10, 20, 30)
print(t[1])
print(t[:2])

Pakowanie i rozpakowywanie krotek

a, b = (1, 2) rozpakowuje krotkę. Działa również a, b = b, a, co pozwala zamienić zmienne bez zmiennej tymczasowej.
a, b = 1, 2
a, b = b, a
print(a, b)

Krotki jako klucze słownika

Ponieważ krotki są haszowalne, mogą być kluczami słownika: coords = {(0,0): 'origin'}. Listy nie mogą być kluczami słownika.
coords = {(0, 0): 'origin', (1, 0): 'right'}
print(coords[(0, 0)])

Krotka a lista — kiedy używać

Krotek należy używać do danych heterogenicznych o stałej strukturze, na przykład (name, age). List należy używać do danych jednorodnych o zmiennej długości.
point = (3.0, 4.0)  # tuple: fixed structure
scores = [85, 90, 78]  # list: variable

Nazwane krotki

from collections import namedtuple; Point = namedtuple('Point', ['x','y']); p = Point(3,4); p.x daje wartość 3.
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(3, 4)
print(p.x, p.y)

Metody krotek

Krotki mają tylko metody count() i index(). t.count(2) zlicza wystąpienia. t.index(2) zwraca pierwszą pozycję.
t = (1, 2, 2, 3)
print(t.count(2))
print(t.index(2))

Wydajność krotek

Krotki są nieco szybsze i zajmują mniej pamięci niż listy, ponieważ Python może optymalizować obiekty niezmienne.
import sys
print(sys.getsizeof((1,2,3)))
print(sys.getsizeof([1,2,3]))

Konwertowanie list i krotek

list(t) konwertuje krotkę na listę. tuple(lst) konwertuje listę na krotkę. Jest to przydatne, gdy tymczasowo potrzebna jest możliwość modyfikacji.
t = (1, 2, 3)
lst = list(t)
lst.append(4)
t2 = tuple(lst)
print(t2)

Szybkie sprawdzenie

Dlaczego krotek można używać jako kluczy słownika, a list nie?

Podsumowanie

Krotki są niezmienne, uporządkowane i haszowalne. Należy ich używać do danych o stałej strukturze, jako kluczy słowników oraz do zwracania wielu wartości. namedtuple dodaje dostęp za pomocą atrybutów.

Kontynuuj

Świetnie! Proszę przejść do następnej lekcji, aby nadal rozwijać swoje umiejętności.

Często zadawane pytania

Czy lekcja „Krotki i niezmienność” jest bezpłatna?

Tak — pełny tekst „Krotki i niezmienność” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Krotki i niezmienność”?

Proszę zrozumieć krotki, ich niezmienność oraz sytuacje, w których warto wybrać je zamiast list. Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Python Academy?

Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Krotki i niezmienność”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?

Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Tworzenie list i uzyskiwanie dostępu do ich elementów
  2. Modyfikowanie list
  3. Krotki i niezmienność
  4. Listy zagnieżdżone i iteracja
← Powrót do Python Academy