
Python zmienne
Z artykułu Python zmienne dowiesz się do czego służą zmienne w języku Python oraz w jaki sposób je tworzyć i przechowywać w nich wartości.
Python zmienne – w jaki sposób utworzyć zmienną w Pythonie
Zmienna (ang. variable) jest to nazwane miejsce w komputerze, w którym może być przechowywana jakaś wartość. Można ją sobie wyobrazić jako kontener, w którym przechowujemy określoną wartość. W Pythonie możemy używać zmiennych w celu przechowywania wartości dowolnego typu.
W języku Python nie ma polecenia do zadeklarowania zmiennej. Zmienna jest tworzona dopiero w momencie, gdy przypiszemy do niej wartość. Każda wartość jest jakiegoś typu np. wartość 25 to liczba całkowita (ang. integer), imię „Ala” to tekst (ang. string).
Przy tworzeniu zmiennej nie trzeba podawać typu danych, które będą w niej przechowywane. Podajemy jedynie nazwę zmiennej i przypisujemy do niej wartość. Python automatycznie określa typ danych na podstawie wartości, którą podaliśmy. Zmienna przyjmuje taki typ wartości jaka jest w niej przechowywana. Jeśli:
- utworzę zmienną o nazwie „imię” i przypiszę do niej wartość tekstową „Ala”, zmienna będzie typu tekstowego
imię = "Ala" print(imię) Ala #wynik
- utworzę zmienną o nazwie „wiek” i przypiszę do niej wartość liczbową 25 (liczba całkowita), zmienna będzie typu liczba całkowita.
wiek = 25 print(wiek) 25 #wynik
Aby sprawdzić jakiego typu jest zmienna używamy funkcji „type()”:
type(imię), type(wiek) (<class 'str'>, <class 'int'>) #wynik
Aby skasować zmienną używamy instrukcji „del”. Jeśli po skasowaniu zmiennej będziemy chcieli wyświetlić jej wartość, pojawi się błąd.
del imię print(imię) Traceback (most recent call last): File "<pyshell#7>", line 1, in <module> print(imię) NameError: name 'imię' is not defined
Zmienna może być użyta wewnątrz wyrażenia w miejsce wartości. Wówczas wartość wzięta ze zmiennej będzie użyta przy obliczaniu wartości wyrażenia.
Przykłady:
Wyrażenie, w którym bez używania zmiennych, sumujemy podstawę kredytu (1500) i odsetki (250):
1500+250 1750 #wynik
Wyrażenie, w którym do zmiennej o nazwie „Kredyt” przypisujemy sumę podstawy kredytu (1500) i odsetek (250). Wyświetlamy wynik za pomocą funkcji „print()”:
Kredyt = 1500+250 print(Kredyt) 1750 #wynik
Wyrażenie, w którym poszczególne wartości przypisujemy do zmiennych o następujących nazwach „podstawa”, „odsetki”, „kredyt”. Do zmiennej „kredyt” przypisujemy wynik działania, w którym dodajemy podstawę i odsetki:
podstawa = 1500; odsetki =250; kredyt = podstawa+odsetki print(kredyt) 1750 #wynik
Jeśli w zmiennych przechowujemy teksty, do ich połączenia używamy znaku „+”.
imię = "Ala" nazwisko = "Kwiatek" print(imię + " " + nazwisko) Ala Kwiatek #wynik
Jeśli spróbujemy dodać tekst do liczby, Python zgłosi błąd:
Imię = "Ala" Wiek = 25 print(Imię + " " + Wiek) Traceback (most recent call last): File "<pyshell#68>", line 1, in <module> Imię + " " + Wiek TypeError: can only concatenate str (not "int") to str
Aby zadział taki kod, wartość liczbową musimy przekonwertować (zamienić) na tekst.
Zmienna przyjmuje taki typ danych, jaki ma przypisana do niej wartość. W przykładzie:
- do zmiennej Wiek przypisujemy wartość 25 jako tekst. Wyświetlamy wartość zmiennej za pomocą funkcji print() oraz sprawdzamy jaki typ ma zmienna za pomocą funkcji type()
wiek = "25" print(wiek) 25 #wynik type(wiek) <class 'str'> #wynik
- teraz do zmiennej wiek przypisujemy wartość 25 jako liczbę całkowitą.
wiek = 25 print(wiek) 25 #wynik type(wiek) <class 'int'> #wynik
Po przypisaniu do zmiennej wiek wartości 25 jako liczby całkowitej, typ zmiennej wiek zmienił się ze str (tekst) na int (liczba całkowita).
Zmienne tekstowe (łańcuchowe) ujmujemy w cudzysłów lub w apostrof.
imię="Ala"; nazwisko = 'Kwiatek' print(imię,nazwisko) Ala Kwiatek #wynik
Wartości do kilku zmiennych można przypisać na dwa sposoby:
Sposób pierwszy:
x=1;y=2;z=3 print(x,y,z) 1 2 3 #wynik
Sposób drugi:
x,y,z=1,2,3 print(x,y,z) 1 2 3 #wynik
Taką samą wartość można przypisać do różnych zmiennych na dwa sposoby:
Sposób pierwszy:
x=5;y=5;z=5 print(x,y,z) 5 5 5 #wynik
Sposób drugi:
x=y=z=5 print(x,y,z) 5 5 5 #wynik
Nazwy zmiennych
Zmienna może mieć krótką nazwę np. „a” lub opisową np. „wiek”, „imię”, „kredyt”.
Nazwa zmiennej może:
- być dowolnie długa, ale długie nazwy zmiennych mogą pogarszać czytelność kodu
- zawierać zarówno małe, jak i wielkie litery alfabetu
- zawierać znak podkreślenia np. _zmienna = 1
- zawierać cyfry
- rozpoczynać się znakiem podkreślenia: _a = 1
Znaku podkreślenia należy używać w nazwie zmiennej ostrożnie, gdyż:
- nazwy zaczynające się od znaku podkreślenia (_) mają specjalne znaczenie
- znak podkreślenia zwraca w trybie interaktywnym wartość ostatniego obliczonego wyrażenia
Nazwa zmiennej nie może:
- zawierać nazw zastrzeżonych dla instrukcji języka Python np. „and”, „del”, „for”, „is”, „raise”, „assert”, „elif”, „from”, „lambda”, „return”, „break”, „else”, „not”, „try”, „class”, „except”, „if”, „or”, „while”, „continue”, „import”, „pass”, „yield”, „def”, „finally”, „in”
- rozpoczynać się od cyfry
1x = 85 SyntaxError: invalid syntax
W nazwach zmiennych rozróżniana jest wielkość liter – zmienne o nazwach „IMIĘ”, „Imię”, „imię” to trzy różne zmienne.
W Pythonie występują dwa rodzaje zmiennych:
- globalne – są to wszystkie zmienne, które tworzymy poza ciałem funkcji – możemy ich używać w całym programie w dowolnym miejscu
Imię = "Ala" def Dziewczyny(): print(Imię) Dziewczyny() Ala #wynik
W przykładzie tworzymy zmienną o nazwie „Imię” poza ciałem funkcji i przypisujemy do niej słowo „Ala”. Następnie tworzymy funkcję o nazwie „Dziewczyny” i ją uruchamiamy. Po uruchomieniu funkcji wyświetla się słowo „Ala”.
- lokalne – są to zmienne, które tworzymy w ciele funkcji – możemy ich używać tylko w ramach funkcji, w której zostały utworzone
def Klienci(): Nazwisko = "Kwiatek" Klienci() print(Nazwisko) Traceback (most recent call last): File "C:\Users\Basia\Desktop\bb.py", line 5, in <module> print(Nazwisko) NameError: name 'Nazwisko' is not defined >>>
Zmienną o nazwie „Nazwisko” zdefiniowaliśmy w ciele funkcji „Klienci” i możemy jej używać jedynie w ramach funkcji. W przykładzie pojawia się błąd, gdyż chcemy wyświetlić „zawartość” zmiennej „Nazwisko” poza funkcją, a poza funkcją zmienna o takiej nazwie nie istnieje.
Jeśli chcesz, aby zmienna utworzona wewnątrz funkcji była globalna tzn. widoczna w całym programie, użyj słowa „global”.
def Klienci(): global Nazwisko Nazwisko = "Kwiatek" Klienci() #uruchamiamy funkcję print(Nazwisko) #wyświetlamy wartość zmiennej "Nazwisko" Kwiatek #wynik
Zmienne ułatwiają pisanie programów i pozwalają na uniknięcie błędów.
Przykład: mamy program, w którym w 10 miejscach potrzebujemy użyć liczby 25 jako wieku. Jeśli w każdym z tych miejsc wpiszemy liczbę 25 ręcznie i będziemy ją chcieli zmienić na inną, będziemy musieli dokonać 10 zmian. Jeśli liczbę 25 przypiszemy do zmiennej „wiek” i w programie użyjemy 10 razy zmiennej „wiek”, w przypadku konieczności zmiany liczby 25 na inną, wystarczy, że dokonamy zmiany w zmiennej „wiek”.
Jeśli interesuje Cię język Python i chcesz perfekcyjnie opanować tworzenie zmiennych oraz poznać jego podstawową składnię, spotkajmy się na naszym kursie Python poziom podstawowy
