Python zmienne - opis z przykładami - Avendi
Szybki kontakt




Tworzenie zmiennych

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 funkcji 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 np. wiek. Jeśli w każdym z tych miejsc wpiszemy liczbę 25 i będziemy ją chcieli zmienić na np. 30, 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”.

Dodaj komentarz

Twój adres email nie zostanie opublikowany.