Typy danych w Pythonie ÔÇô kompletny przewodnik

18 czerwca 2024

Typy danych python to fundamentalna koncepcja, kt├│r─ů musi opanowa─ç ka┼╝dy pocz─ůtkuj─ůcy programista. Okre┼Ťlaj─ů one rodzaj warto┼Ťci, jakie mo┼╝emy przechowywa─ç w zmiennych i na jakich operacjach mo┼╝emy wykonywa─ç. W tym artykule przedstawimy Ci najwa┼╝niejsze typy danych dost─Öpne w Pythonie i poka┼╝emy, jak efektywnie wykorzystywa─ç je w swoich programach.

Typy liczbowe

Python oferuje kilka typ├│w liczbowych do przechowywania warto┼Ťci numerycznych:

  • int ÔÇô liczby ca┼ékowite, np. `42`, `-5`
  • float ÔÇô liczby zmiennoprzecinkowe, np. `3.14`, `-2.5`
  • complex ÔÇô liczby zespolone, np. `2+3j`, `-1-5j`

Typy liczbowe pozwalaj─ů wykonywa─ç r├│┼╝ne operacje arytmetyczne, takie jak dodawanie, odejmowanie, mno┼╝enie czy dzielenie. Przyk┼éadowo:

python
a = 10
b = 3

print(a + b)  # 13
print(a - b)  # 7
print(a * b)  # 30
print(a / b)  # 3.3333333333333335

Typ tekstowy

Do przechowywania danych tekstowych w Pythonie s┼éu┼╝y typ **string** (w skr├│cie **str**). Stringi definiujemy w cudzys┼éowach, np. `"Hello, World!"`, `'Python jest super!'`. Mo┼╝emy na nich wykonywa─ç r├│┼╝ne operacje, takie jak konkatenacja (┼é─ůczenie), wycinanie fragment├│w, sprawdzanie d┼éugo┼Ťci itp.

python
greeting = "Hello"
name = "Alice"

print(greeting + " " + name)  # Hello Alice
print(len(greeting))  # 5
print(name[0])  # A
print(name[1:3])  # li

Typ logiczny

Typ bool reprezentuje warto┼Ťci logiczne i mo┼╝e przyjmowa─ç tylko dwie warto┼Ťci: `True` albo `False`. Warto┼Ťci logiczne s─ů wynikiem operacji por├│wnania lub wyra┼╝e┼ä logicznych.

python
is_python_cool = True
is_java_better = False

print(is_python_cool and is_java_better)  # False
print(is_python_cool or is_java_better)   # True
print(not is_java_better)  # True

Typy sekwencyjne

Python oferuje kilka typ├│w sekwencyjnych do przechowywania kolekcji element├│w:

  • list ÔÇô lista, modyfikowalna sekwencja element├│w, np. `[1, 2, 'a', True]`
  • tuple ÔÇô krotka, niemodyfikowalna sekwencja element├│w, np. `(1, 2, 'a', True)`
  • range ÔÇô reprezentuje sekwencj─Ö liczb, np. `range(1, 10)`

Najcz─Ö┼Ťciej u┼╝ywanym typem jest lista. Pozwala ona przechowywa─ç wiele element├│w r├│┼╝nych typ├│w i zapewnia metody do modyfikacji, takie jak dodawanie, usuwanie czy zmiana element├│w.

python
numbers = [1, 2, 3, 4, 5]
numbers[2] = 10
print(numbers)  # [1, 2, 10, 4, 5]

numbers.append(6)
print(numbers)  # [1, 2, 10, 4, 5, 6]

numbers.remove(4)
print(numbers)  # [1, 2, 10, 5, 6]
python typy danych

Typ słownikowy

Typ dict reprezentuje s┼éownik, czyli zbi├│r par klucz-warto┼Ť─ç. Klucze musz─ů by─ç unikalne i niemodyfikowalne (np. stringi, liczby, tuple), a warto┼Ťci mog─ů by─ç dowolnego typu. S┼éowniki pozwalaj─ů na efektywne przechowywanie i dost─Öp do danych po kluczu.

python
person = {
    "name": "Alice", 
    "age": 25,
    "city": "New York"
}

print(person["name"])  # Alice
print(person.get("age"))  # 25

person["email"] = "alice@example.com"
print(person)  # {'name': 'Alice', 'age': 25, 'city': 'New York', 'email': 'alice@example.com'}

Typ zbioru

Python oferuje dwa typy zbior├│w:

  • set ÔÇô zbi├│r, modyfikowalny zbi├│r unikalnych element├│w, np. `{1, 2, 3}`
  • frozenset ÔÇô niemodyfikowalny zbi├│r unikalnych element├│w, np. `frozenset({1, 2, 3})`

Zbiory pozwalaj─ů na efektywne sprawdzanie przynale┼╝no┼Ťci element├│w oraz wykonywanie operacji matematycznych takich jak suma, przeci─Öcie czy r├│┼╝nica.

python
fruits = {"apple", "banana", "orange"}

print("apple" in fruits)  # True
print("grape" in fruits)  # False

tropical = {"banana", "mango", "pineapple"}
print(fruits | tropical)  # {'orange', 'banana', 'mango', 'apple', 'pineapple'}
print(fruits & tropical)  # {'banana'}
print(fruits - tropical)  # {'orange', 'apple'}

Typ specjalny None

Python posiada r├│wnie┼╝ specjalny typ None, kt├│ry reprezentuje brak warto┼Ťci. Jest on u┼╝ywany, gdy chcemy zaznaczy─ç, ┼╝e dana zmienna nie posiada jeszcze przypisanej sensownej warto┼Ťci.

python
result = None
print(result)  # None

if result is None:
    print("Wynik nie został jeszcze obliczony")

Podsumowanie

  • Python oferuje bogat─ů gam─Ö typ├│w danych do przechowywania r├│┼╝nego rodzaju warto┼Ťci ÔÇô liczb, tekst├│w, warto┼Ťci logicznych, kolekcji czy par klucz-warto┼Ť─ç.
  • Ka┼╝dy typ posiada charakterystyczny zestaw operacji, kt├│re mo┼╝emy na nim wykonywa─ç.
  • Dob├│r odpowiedniego typu danych zale┼╝y od charakteru przechowywanych warto┼Ťci i wymaganych operacji.┬á
  • Warto eksperymentowa─ç z r├│┼╝nymi typami, aby pozna─ç ich mo┼╝liwo┼Ťci i nauczy─ç si─Ö efektywnie z nich korzysta─ç.

TypPrzyk┼éadowe warto┼ŤciOpis
int-5, 0, 10, 1000Liczby całkowite
float2.5, -3.14, 0.0Liczby zmiennoprzecinkowe
complex1+2j, -3-4jLiczby zespolone
str"Hello", 'Python', """Multiline"""Napisy (ci─ůgi znak├│w)
boolTrue, FalseWarto┼Ťci logiczne
list[1, 2, 'a'], []Lista - modyfikowalna sekwencja element├│w
tuple(1, 2, 'a'), ()Krotka - niemodyfikowalna sekwencja element├│w
rangerange(1, 10), range(5)Reprezentuje sekwencj─Ö liczb
dict{'key': 'value'}, {}S┼éownik - zbi├│r par klucz-warto┼Ť─ç
set{1, 2, 3}, set()Zbi├│r - modyfikowalny zbi├│r unikalnych element├│w
frozensetfrozenset({1, 2, 3})Niemodyfikowalny zbi├│r unikalnych element├│w
NoneNoneSpecjalna warto┼Ť─ç reprezentuj─ůca brak warto┼Ťci

W HackerU doskonale zdajemy sobie spraw─Ö, jak wa┼╝na jest praktyczna znajomo┼Ť─ç typ├│w danych w Pythonie. Dlatego na naszych kursach programowania Python szczeg├│lny nacisk k┼éadziemy na zrozumienie i efektywne wykorzystanie r├│┼╝nych typ├│w. Pod okiem do┼Ťwiadczonych trener├│w nauczysz si─Ö, kiedy stosowa─ç konkretne typy, jak wykonywa─ç na nich operacje i jak wykorzystywa─ç ich mo┼╝liwo┼Ťci do rozwi─ůzywania realnych problem├│w. Dzi─Öki kursom w HackerU zdob─Ödziesz solidne fundamenty z Pythona i przygotujesz si─Ö do pracy jako profesjonalny programista.


Źródła:

  • https://docs.python.org/3/library/datatypes.html
  • https://www.w3schools.com/python/python_examples.asp