3

Typy danych – tekst, liczby, prawda i fałsz

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

Czego się nauczysz

Zapis 5 i zapis "5" wyglądają na ekranie tak samo, ale Python traktuje je zupełnie inaczej. Pierwszy to liczba, którą można dodawać. Drugi to tekst, który można sklejać. Zrozumienie tej jednej rzeczy wyeliminuje połowę błędów w najbliższych tygodniach.

Po tej lekcji:

Dlaczego typ ma znaczenie

print(5 + 5)      # 10
print("5" + "5")  # 55 – dla tekstu plus oznacza sklejanie
print(5 + "5")    # TypeError

Python patrzy nie tylko na wartość, ale i na jej rodzaj. Liczby dodaje, teksty skleja, a mieszanki jednego z drugim nie przyjmuje.

Cztery typy w zupełności wystarczą

imie = "Anna"   # str
wiek = 17       # int
waga = 54.5     # float
zdal = True     # bool
nr = "17"       # uwaga: to str, nie liczba!

Typ bierze się z tego, jak zapiszesz wartość – nigdzie go nie deklarujesz.

4,25 z przecinkiem to dla Pythona nie jest liczba. Musi być 4.25.

type – zapytaj Pythona, z czym masz do czynienia

Funkcja type zwraca rodzaj wartości. Działa na wartości i na zmiennej.

print(type(17))     # <class 'int'>
print(type("17"))   # <class 'str'>
print(type(4.25))   # <class 'float'>
print(type(True))   # <class 'bool'>

To twoje pierwsze narzędzie diagnostyczne. Gdy dodawanie nie działa, wypisanie typów bywa szybsze niż wpatrywanie się w kod.

Konwersje – zamiana jednego typu na drugi

Zamiana nie zmienia oryginału. Funkcje konwersji tworzą nową wartość – zmienna podana w nawiasie zostaje nietknięta, chyba że wynik przypiszesz z powrotem do niej.

tekst = "17"
liczba = int(tekst)
print(liczba + 1)   # 18
print(tekst)        # 17 – nadal tekst

Kiedy konwersja się uda, a kiedy nie

W drugą stronę zawsze jest bezpiecznie: str przyjmie dowolną wartość i nigdy nie zawiedzie.

Spróbuj sam

W kodzie z lekcji na końcu są zakomentowane błędne konwersje. Usuń # z jednej z nich, uruchom program i przeczytaj komunikat.

Zadania z lekcji:

  1. Utwórz po jednej zmiennej każdego z czterech typów. Wypisz dla każdej wartość i typ, korzystając z funkcji type.
  2. Sprawdź, ile wynosi "7" + "7", a ile 7 + 7. Wynik obu działań opisz w komentarzu.
  3. Masz zmienną tekst = "25". Zamień ją na liczbę, dodaj do niej 5 i wypisz wynik.
  4. Napisz program, który celowo wywoła ValueError przy konwersji, i zapisz w komentarzu pełną treść komunikatu.

Sprawdź się

Na następnej lekcji: operatory arytmetyczne. Dzielenie w Pythonie ma trzy odmiany, a jedna z nich – reszta z dzielenia – okaże się najbardziej przydatna ze wszystkich.

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 – Typy danych – tekst, liczby, prawda i fałsz
Strona 1 z 4 Strona 2 z 4 Strona 3 z 4 Strona 4 z 4

Prezentacja

Slajd 1 z 10
1 / 10

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_03_typy-danych.py Kod z lekcji – otwórz, zmieniaj i uruchamiaj; wynik zobaczysz obok kodu.
demo_03_typy-danych.py
Wynik programu
Kliknij „Uruchom”, żeby zobaczyć tutaj wynik programu.