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:
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)
W języku Python mamy kilka rodzajów zmiennych. Do dyspozycji mamy następujące typy:
Instrukcja type(zmienna> zwraca typ zmiennej podanej jako argument obiektu type:
x = 22
print(type(x)) #
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 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.
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
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 ten został opisany w tym miejscu.
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)) #