Python jest językiem zorientowanym obiektowo, co oznacza że  wykorzystywane w nim dane (liczby, ciągi znaków, słowniki, listy i tak dalej) są obiektami (czyli inaczej strukturami danych), na których można wykonywać różne operacje. W skryptach Pythona wszystko jest obiektem, w tym zarówno zwykłe dane, takie jak liczby, jak i operacje, które są na nich wykonywane. Obiekty powstają na bazie klas będących swego rodzaju szablonem dla każdego typu obiektu. Obiekty mogą być wbudowane lub tworzone przez użytkownika.

Jak wygląda hierarchia danych w Pythonie?

Zanim przejdziemy do bardziej szczegółowego opisu warto uświadomić sobie, jak wygląda hierarchia pojęć w Pythonie. Na najwyższym poziomie programu znajdują się moduły, które z kolei zawierają instrukcje oraz polecenia. Te z kolei składają się z wyrażeń i dopiero wyrażenia służą nam do tworzenia i przetwarzania obiektów.

Wbudowane typy obiektów Pythona

Python posiada wiele wbudowanych obiektów, które zazwyczaj są lepsze w użyciu niż takie same obiekty tworzone przez użytkowników. Zatem jeśli nie musisz korzystać z wyspecjalizowanych metod lub obiektów, prawie każde potrzebne rozwiązanie znajdziesz pośród budowanych typów Pythona. Korzystanie z wbudowanych typów jest również często bardziej wydajne od korzystania z własnych struktur danych. Są one po prostu szybsze w działaniu, a ich interfejs jest lepiej znany innym programistom.

Wbudowane obiekty Pythona

Do wbudowanych zmiennych w Pythonie należą:

  • Liczby (typy liczbowe)
  • Łańcuchy znaków
  • Listy
  • Słowniki
  • Kratki
  • Zbiory
  • Pliki
  • Typy podstawowe
  • Typy jednostek programu
  • Typy powiązane z implementacją

Co istotne, w Pythonie nie deklarujemy typów zmiennych. Oznacza to, że zmienna 'a’ może być raz przypisana do ciągu znaków, innym razem zaś do słownika. Gwarantuje to wysoką elastyczność kodu. Typ danych ma natomiast znaczenie, jeśli chodzi o operację dostępne dla danego obiektu, nazywany również metodami. W ten sposób łańcuchy znaków mają inne metody od list, słowników czy kropek, bo też inne jest ich przeznaczenie. Oznacza to, że Python jest językiem z typami dynamicznymi, ponieważ informacje na temat typu danej zmiennej są przechowywane automatycznie, a jednocześnie są to typy silne, a więc pozwalające na wykonanie tylko określonego zestawu operacji.