Python – zmienne i podstawowe typy danych

Witaj w kolejnej części notatek z nauki Pythona. Dzisiaj będą typy danych – od razu uprzedzam – sporo tego i materiał będzie podzielony na dwie części – podstawowe oraz złożone typy danych.

Podejście do zmiennych w Pythonie odbiega od tego znanego z C++ czy Javy – otóż nie musimy deklarować typu. Mamy tutaj do czynienia z tzw. typowaniem dynamicznym. Typ zmiennej jest określany na podstawie jej zawartości podczas przypisania ALE typowanie jest silne – jak mamy w zmiennej tekstowej liczbę, to nie zostanie ona automatycznie przekonwertowana. Pokażę to później w przykładach.

„Ale ale” – zanim zaczniemy tworzyć zmienne – poznaj listę słów kluczowych zastrzeżonych dla Pythona, które nie mogą być nazwami zmiennych.

  • False
  • None
  • True
  • and
  • as
  • assert
  • async
  • await
  • break
  • class
  • continue
  • def
  • del
  • elif
  • else
  • except
  • finally
  • for
  • from
  • global
  • if
  • import
  • in
  • is
  • lambda
  • nonlocal
  • not
  • or
  • pass
  • raise
  • return
  • try
  • while
  • with
  • yield

W przyszłości oczywiście może się to zmienić – aktualną listę można zawsze sprawdzić za pomocą poniższego skryptu:

import keyword
print(keyword.kwlist)

O czym jeszcze warto pamiętać przy nazywaniu zmiennych w Pythonie?

  • nazwa może składać się z liter i cyfr oraz znaku podkreślenia (bez spacji)
  • wielkość znaków ma znaczenie
  • nazwa zmiennej nie może zaczynać się cyfrą

Podstawowe typy danych

TypOpisPrzykłady
int (integer)Liczba całkowita4, -5, 150
floatLiczba zmiennoprzecinkowa0.5, -20.0, .1, 0.2f
str (string)Łańcuch znaków’wyraz’, „dwa wyrazy”
complexZmora początkujących elektroników – liczby urojone(3 + 2j)
bool (boolean)Typ logiczny Prawda lub FałszTrue, False

Dozwolone nazwy zmiennych

_a = 5
_12_b = 30
NazwaPliku = "test.txt"
powiedz_cos = 'mowie cos'
kwota = 10.0

Samego przypisania dokonujemy za pomocą znaku równości.

Typy zmiennych

W większości języków zmienne danego typu mają zadane wielkości – tzn. jak duże liczby/łańcuchy mogą przechowywać. W Pythonie roboczo możemy przyjąć, że ograniczeniem jest rozmiar pamięci dostępnej w systemie, w którym uruchamiamy nasz program. Są tam pewne niuanse – wrócę do tego w osobnej notce, na tym etapie na pewno nam tej pamięci wystarczy;)

Typ zmiennej sprawdzamy za pomocą funkcji type():

W ramach ćwiczeń zachęcam do uruchomienia IDLE i sprawdzenia powyższych komend a także zabaw ze zmianą typu zmiennej – na przykład:

Jak widać po każdym przypisaniu aktualizowany jest także typ – o ile rzeczywiście się zmienił.

Rzutowanie (konwersja) typu danych

Mimo iż typowanie jest silne – czyli na przykład liczba całkowita zapisana w łańcuchu znaków nie zostanie samoistnie przekonwertowana tak, żeby pasowała do naszych obliczeń:

Czasami zachodzi niejawna konwersja typów – na przykład liczba całkowita użyta jako boolean będzie traktowania jako False gdy jest zerem oraz True przy każdej innej wartości.

O konwersję najlepiej jednak samemu zadbać rzutując zmienną do potrzebnego typu za pomocą operatorów funkcji int(), float(), str(), complex() oraz bool() – w nawiasach umieszczamy nazwę zmiennej lub wartość, którą chcemy przekonwertować. Program wstawi w tym miejscu wynik konwersji:

Ale też możemy potraktować zmienne jako łańcuchy znaków i dodać je do siebie – nie będzie to wtedy dodanie liczb, a dodanie do siebie dwóch tekstów:

Znając już podstawowe typy danych – możemy się zabrać za podstawowe operacje na zmiennych w Pythonie. Na zaawansowane typy danych przyjdzie jeszcze pora;)

Nie bądź lama, udostępnij;)