Wreszcie! Możemy na serio zacząć naukę, nie bawiąc się w jakieś konfiguracje! No to jedziemy, uruchommy sobie Naszego Pycharma lub inny edytor kodu (jeśli nie wiesz o co chodzi to odsyłam tutaj). I jedziemy z kodem!
Zmienne i ich wartości
Młodość, lekcja matematyki i pamiętne obliczanie X, pamiętasz to? Chyba każdy, z Nas, pamięta iksy i igreki z matematyki - były to tzw. zmienne, czyli znaczki, pod jakimi mogła się kryć dowolna liczba. Tak samo jest ze zmiennymi w programowaniu, są to po prostu nazwy, dzięki którym możemy się odwołać do jakichś konkretnych wartości. Innymi słowy, zmienna to nazwane pudełeczko w pamięci komputera, w którym możemy coś trzymać.

Jak takie pudełko zrobić w Pythonie? Bardzo prosto, wystarczy napisać: x = 1 - przy czym w programowaniu zwracamy uwagę na wielkość znaków, x - to nie jest to samo co X. I tak oto mamy Nasze pudełko w formie zmiennej, przechowywanej w pamięci komputera.

Zmienna to liczba...
No dobrze, wiemy jak stworzyć zmienną, i pewnie domyślamy się także, że może ona przechowywać liczby. Bardzo dobrze, tak trzymać! Natomiast sprawa jest ciekawsza, bowiem zmienne mogą przechowywać liczby, a jakże! Natomiast w komputerze liczby dzielimy podstawowo na całkowite - int (liczby integralne, niepodzielne - integer) i zmiennoprzecinkowo - float (ang. floating point - zmiennoprzecinkowe). Dlaczego tak? No, komputer ma ograniczone zasoby i nie może np. przechowywać liczby o nieskończonej dokładności - musimy go przygotować na to ile przykładowo planujemy mieć w liczbie miejsc po przecinku, tak z grubsza - bowiem trzeba zarezerwować pamięć.

...jak również tekst
Prócz zmiennych typu (bo tak to profesionalnie nazywamy) int i float, mamy jeszcze przykładowo zmiene typu string (popularnie zwane stringami, czego proszę nie mylić z damską bielizną 😉 ). Co to jest? String, to nic innego jak łańcuch znaków - czyli tekst. Bo tak jak kolejne ogniwa w łańcuchu tworzą kolejne elementy, tak w stringu kolejnymi elementami są litery. Zapiszemy to tak:
tekst = 'to jest jakiś mój tekst'
czyli tworzymy zmienną o nazwie tekst i przypisujemy jej wartość 'to jest jakiś mój tekst' - i tutaj ważna sprawa, koniecznie tekst musi być otoczony znakami ' lub " , dlaczego? Z prostego powodu, komputer musi wiedzieć gdzie jest początek tekstu, a gdzie koniec. Bez tego nie wiedziałby jak potraktować znaki jakie wpisaliśmy. Innymi słowy, by tekst był tekstem i komputer wiedział, że jest tekstem i ma go potraktować jako tekst - zapisujemy ten tekst w specjalnych znakach, które mówią komputerowi (a dokładniej interpreterowi Pythona), "hej! Tu zaczyna się tekst" i "Hej! Tutaj kończy się tekst!". Tak jak robią to ludzie z cytatami 🙂
Po co zmienne?
Dlaczego potrzebne Nam zmienne? Proste: do przechowywania dane, bowiem każdy program musi gdzieś przechowywać dane na jakich operuje. Każdy, nawet najprostszy program składa się z jakichś danych - musi dane gdzieś np. odbierać - od użytkownika, z jakiegoś zewnętrznego źródła - dane musimy w jakichś sposób przechować, musimy je przetwarzać. Dane musimy w końcu wyprowadzić gdzieś na zewnątrz w formie wyniku jakiejś operacji - jakby nie było, każdy program musi dane różnego typu przechowywać w jakiś sposób. I to jest taki temat fundamentalny.
Sprawa skomplikowana - zmienne to referencje
Zmienne natomiast to podstawowy typ przechowywania danych, który w danym momencie przechowuje jedną wartość. I z technicznego punktu widzenia jest to prawda, ale nie do końca. Bowiem, okazuje się, że zmienna nie tyle przechowuje wartość, co wskazuje na tą wartość - jest jakby identyfikatorem, który pozwala się Nam odwołać do wartości np. jeden, będącej gdzieś w pamięci. Czyli tworząc zmienną x = 1, tak naprawdę tworzymy gdzieś w pamięci miejsce przechowujące wartość 1, a także tworzymy zmienną x, która wskazuje na to miejsce.
Jeszcze o tym powiemy, na razie w każdym razie, możemy przyjąć, że mamy zmienną nazwaną x, z wartością jeden: x = 1
Co możemy z taką zmienną robić? No możemy ją po prostu wyświetlić, pisząc w Naszym kodzie instrukcje print z wartością x:
print(x)

Jak widzimy, Naszym oczom ukazała się wartość jeden. Oczywiście Nasza zmienna może mieć inny typ, a co więcej możemy mieć w programie wiele zmiennych (praktycznie nieskończoną liczbę - znaczy tyle na ile pozwalają zasoby komputera).

Zauważmy także, że kod jest wykonywany z góry na dół, i linia po linii - dlatego też najpierw widzimy wartość zmiennej x, później y, a na końcu tekst.
Więcej o funkcji print
Nasze wyświetlanie funkcją print, nie musi być tak ograniczone - funkcja ta może przyjmować więcej niż jedną wartość na raz. Zobaczmy to na przykładzie poniżej, działając z poprzednim zestawem zmiennych:
print(x,y,tekst)

Podaliśmy więcej niż jedną zmienną do print, wymieniliśmy nazwy kolejnych zmiennych po przecinku, czyli podaliśmy zmiennej print więcej niż jeden tzw. argument - teraz funkcja print ma trzy argumenty i wyświetla je kolejno, każdy po spacji. Takie jest domyślne zachowanie funkcji print.
Wyrażenia
Zmienne nie muszą też być ustawione na stałe - wartości zmiennych to mogą być dowolne wyrażenia, przykładowo mamy zmienną x=2 i y=3, możemy stworzyć zmienną c = x+y i ją wyświetlić:

I tak otrzymujemy w wartości zmiennej c, wynik sumowania zmiennych x i y, czyli liczbę 5. Jak więc widzimy, możemy dynamicznie wyliczać wartości zmiennych. Można powiedzieć też, że możemy mieć zmienne, których wartością jest wynik ewaluacji jakiegoś wyrażenia.
Kolejność deklaracji
Jak już wspomnieliśmy, kod jest wykonywany linia po linii, zatem kolejność deklaracji zmiennych ma ogromne znaczenie, nie możemy bowiem wyświetlić zmiennej, której jeszcze nie stworzyliśmy. Gdy spróbujemy takiego działania, natychmiast otrzymamy błąd, co można zaobserwować na ilustracji:

Widoczny na obrazku błąd wynika z tego, że w pierwszej linii chcemy wyświetlić zmienną o nazwie a, tyle, że deklarujemy ją w linnii następnej, co powoduje błąd - bowiem dla interpretera, w momencie wykonywania funkcji print, zmienna o nazwie a, nie istnieje. Na co wskazuje komunikat "NameError: name 'a' is not definied" - mówiące, że nazwa 'a' nie została zdefiniowana, więc nie mam pojęcia czym jest.
Na zadanie domowe mamy więc naprawić powyższy błąd 😉

[…] sobie stworzyć podstawową listę i wskazać, że zmienna przykładowo my_list będzie referencją (będzie wskazywać) do tej listy. Do listy natomiast włożymy sobie na razie liczby całkowite, […]
[…] sobie stworzyć podstawową listę i wskazać, że zmienna przykładowo my_list będzie referencją (będzie wskazywać) do tej listy. Do listy natomiast włożymy sobie na razie liczby całkowite, […]
[…] powyższe byty programistyczne. Są to jedne z podstawowych pojęć w programowania, wszak zmienne to jedna z rzeczy od których zwykle zaczynamy naukę […]
[…] Powinniśmy trochę poważniej podejść do komunikacji z graczem. Na początek bądźmy bardziej profesjonalnie przekształćmy komunikat tak by mówił, która to próba. Zatem zmienimy linię z printem. […]