PROGRAMOWANIE I ALGORYTMY

szkoła fraktal
Zapraszamy na lekcję otwartą wrzesień 2023

Zmienne w Pythonie


powrót

zmienna - to obiekt w programowaniu, który przechowuje różnego rodzaju dane niezbędne do działania programu. Zmienna podczas działania programu może zmieniać swoje wartości (jak wskazuje nazwa). W Pythonie musisz zainicjować zmienną, aby móc z niej korzystać. W odróżnieniu od języka C++, nie musisz za bardzo przjmować się typem, ponieważ Python sam go dostosuje w zależności od sytuacji. Zmienna może zmieniać swój typ podczas działania programu, tzn. może być raz liczbą całkowitą, za chwilę ciągiem znaków, a jeszcze później liczbą zmiennoprzecinkową. W Pythonie zmienne są obiektami w dosłownym tego słowa znaczeniu, a skoro tak, to mamy do dyspozycji wiele przydatnych metod (funkcji) odwołując się do nich za pomocą operatora kropki:

x = -5 # sworzyliśmy zmienną (obiekt) o nazwie x i przypisaliśmy do niej liczbę -5
print(x.__abs__()) # wypisaliśmy wartość bezwzględną z liczby -5, czyli 5

Zauważ, że skorzystaliśmy ze schematu:

nazwa_zmiennej.nazwa_metody()

W przykładzie powyżej skorzystaliśmy z metody __abs__() zwracającej wartość bezwzględną z liczby zapisanej w zmiennej x.

Żeby wyświetlić wszystkie metody dostępne dla danego obiektu możemy skorzystać z instrukcji dir, która zwraca nazwy dostępnych metod. Np. jeśli chcemy dowiedzieć się, jakie są dostępne metody dla utworzonej zmiennej wystarczy, że wykonamy instrukcję:

a = 8
print(dir(a)))

Nadając nazwę zmiennej trzymamy się następujących zasad:

  • nazwa zmiennej musi być spójnym ciągiem znaków tzn. musi być jednoczłonowa: nazwazmiennej — dobrze, nazwa zmiennej - źle
  • nie zaczynamy nazwy od cyfry np. 12zmienna - źle, zmienna12 - dobrze
  • nie używamy polskich liter takich jak ą, ę itp.
  • nazwa zmiennej powinna kojarzyć się z przeznaczeniem tej zmiennej np. tablica_ciagu - dobrze
  • nazwa nie może być słowem kluczowym języka programowania np. if - źle

Inicjacja zmiennych

Aby zainicjować zmienną wystarczy podać jej nazwę. Można utworzyć zmienną bez ustalonej wartości lub przypisać wartość.

z = None # utworzenie zmiennej bez przypisanej wartości
x = 12 # x jest zmienną typu całkowitego
print(x)
x = 'ala ma kota' # a teraz jest zmienną typu string
print(x)

Typy zmiennych w Pythonie

W języku Python mamy kilka rodzajów zmiennych. Do dyspozycji mamy następujące typy:

  • int — typ całkowity,
  • float — typ rzeczywisty,
  • bool — typ logiczny,
  • complex — typ dla liczb zespolonych,
  • str — ciągi znaków.

Instrukcja type(zmienna)

Instrukcja type(zmienna> zwraca typ zmiennej podanej jako argument obiektu type:

x = 22
print(type(x)) # 

Typ całkowity int

Gdy przypiszemy do zmiennej liczbę np. x = 3, to zmienna x będzie typu całkowitego. Nie musimy tego jawnie delkarować, jak w przypadku języka C++. W Pythonie można jawnie podać typ zmiennej, ale w każdej chwili można ten typ zmienić na inny:

x :int = 12 # x jest zmienną typu całkowitego
print(x)
x = 'ala ma kota' # a teraz jest zmienną typu string
print(x)

Zakres zmiennej całkowitej jest "nieograniczony" (ograniczają nas tylko możliwości komputera), tzn. nie musimy się przejmować wielkością liczb całkowitych, jak jest to w przypadku języka C++. Aby wykonywać działania na dużych liczbach nie musimy tworzyć artytmetyki wielkich liczby. Python ma to już wbudowane:

x = 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
y = 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
print(x+y)

Typ rzeczywisty float

Typ ten służy do przechowywania liczb zmiennoprzecinkowych. Jako seperatora między częścią całkowitą a ułamkową używamy znaku kropki:

x = 4.344 # liczba typu float
print(x)
y = 1/3 # liczba typu float
print(y)

Aby ustalić liczbę miejsc po przecinku do wyświetlenia na ekranie, możemy użyć następującej instrukcji:

x = 2/3
print(x) # 0.6666666666666666
print(format(x, '.2f')) # 0.67

gdzie funkcja format zwraca liczbę zmiennoprzecinkową zapisaną w zmiennej x zaokrągloną do dwóch (.2f) miejsc po przecinku.

Typ logiczny bool

Zmienne typu bool przechowują jedną z dwóch wartości: True — prawdę lub False — fałsz:

x = True
print(x) # True
print(type(x)) # 
y = 3 == 2 # przypisujemy wartość logiczną warunku, w tym przypadku 2 == 3 ma wartość False
print(y) # False

Typ dla liczb zespolonych complex

Zmienne typu complex przechowują liczby zespolone w formacie część_rzeczywista + część_urojona np. 4 + 3j

x = 4 + 3j
print(x) # (4+3j)
print(type(x)) # 

Typ dla ciągów znaków str

Typ ten został opisany w tym miejscu.

Rzutowanie typów

Rzutowanie polega na zmianę danego typu na inny. Zamianę wykonujemy w następujący sposób:
podajemy nazwę typu, na który chcemy zrzutować a następnie w nawiasie podajemy nazwę zmiennej, którą chcemy zrzutować np.:

x = '2323' #  typ str
print(type(x)) # 
x = int(x) # wykonujemy rzutowania zmiennej typu str na typ int
print(type(x)) #