Zmienne i typy


Jeśli to twój pierwszy kontakt z programowaniem, to wyobraź sobie, że zmienne to takie wydzielone miejsca w pamięci komputera, gdzie możesz przechowywać potrzebne ci dane. Python posiada kilka wbudowanych typów danych jak liczby całkowite, rzeczywiste itp. Przy tworzeniu zmiennej nie musisz podawać jaki typ danych będziesz przechowywać w zmiennej. Po prostu podajesz nazwę zmiennej i przypisujesz jej wartość. Z tego powodu mówi się, że python jest językiem typowanym dynamicznie.

# tak tworzysz nowa zmienna
zmienna = 5

Python jest językiem obiektowym i każda zmienna w Pythonie jest obiektem. Jeśli nie wiesz o co chodzi, to wyobraź sobie, że obiekt to zbiór danych liczbowych i tekstowych oraz tzw. metod, które operują na tych wewnętrznych danych. Te dane i metody są ze sobą ściśle powiązane, co ułatwia pracę nad programem. Kwestią obiektowości zajmiemy się jednak później.

Omówimy kilka podstawowych typów zmiennych.

Liczby

Python obsługuje dwa typy liczbowe – liczby całkowite (ang. integers w skrócie int) i rzeczywiste (float). Obsługiwane są także liczby zespolone, ale nie będziemy się nimi zajmować.

Aby stworzyć nową zmienną całkowitą, użyj następującej składni:

calkowita = 7

Liczbę rzeczywistą możesz uzyskać na dwa sposoby:

rzeczywista = 7.5
rzeczywista = float(38)

Liczby rzeczywiste zazwyczaj zapisuje się w pamięci komputera za pomocą tzw. techniki zmiennego przecinka (z ang. floating point), stąd często stosowana nazwa – liczba zmiennoprzecinkowa. Praktyczną konsekwencją jest to, że liczba jest zapisywana z określoną dokładnością.

W poniższym fragmencie kodu użyto zapisu pozwalającego ustawić precyzję, z jaką wyświetlaną jest liczba i omówimy go później. Tymczasem wprowadź kod do interpretera i zaobserwuj różnice.

x = 4.3
print x
print '%.20f' % x
print x # print nie zmienil zawartosci zmiennej x

Istnieje również technika tzw. stałego przecinka, ale jest używana rzadziej i w komputerach o małej mocy obliczeniowej.

Napisy

Napis (string) jest inicjowany za pomocą pojedyńczego lub podwójnego cudzysłowu.

napis1 = 'witaj'
napis2 = "witaj"
napis 1 == napis2 # zwroci "True"

Różnica między nimi polega na tym, że dzięki użyciu podwójnego cudzysłowu można bez przeszkód używać apostrofów (podczas gdy oznaczałyby koniec napisu przy użyciu pojedynczego cudzysłowu).

napis = "Nie martw sie o 'pojedyncze' cudzyslowy."

Napisy można definiować na jeszcze kilka innych sposobów, które ułatwiają dołączanie takich znaków jak powrót karetki, odwrotne ukośniki i znaki Unicode. Wykracza to poza tematykę samouczka, ale jest opisane w dokumentacji Pythona.

Na liczbach i stringach można wykonywać proste operacje:

jeden = 1
dwa = 2
trzy = jeden + dwa
print trzy

witaj = "witaj"
swiecie = "swiecie"
witajswiecie = witaj + " " + swiecie
print witajswiecie

Możliwe jest "jednoczesne" przypisanie wartości kilku różnym zmiennym w tej samej linijce jak w przykładzie poniżej.

a, b = 3, 4
print a
print b

Operacje, które mieszają ze sobą liczby i napisy nie są obsługiwane:

# To nie bedzie dzialac!
print jeden + dwa + witaj

Ćwiczenie

Stwórz zmienne zawierające napis, liczbę całkowitą i rzeczywistą. Napis powinien być nazwany napis i zawierać słówko "witaj". Zmienną rzeczywistą nazwij rzeczywista i umieść w niej liczbę równą 10. Zmienną całkowitą nazwij calkowita i przypisz jej wartość 20. Jeśli nie masz pomysłu na 10, to spójrz jeszcze raz na przykład u góry.

Drobna uwaga dla ciekawskich. Instrukcja is instance sprawdza, czy zmienna o podanej nazwie jako druga jest typem o nazwie podanej jako druga w nawiasach.


Copyright © learnpython.org. Read our Terms of Use and Privacy Policy