Żaden program nie może obyć się bez zmiennych, które to przenoszą w programie różne wartości, są przetwarzane, przeliczane czy wyświetlane. Także i w języku Python dane przybierają formę zmiennych aby umożliwić manipulowanie nimi. Jednakże w języku tym zmienne są bytem nieco odmiennym od innych języków, a mianowicie są traktowane jako obiekty. Niezależne byty niosące informację nie tylko o wartościach zawartych w nich, ale też dużo innych informacji, o których chwilowo więcej mówić nie będziemy. Najważniejszym spostrzeżeniem na tę chwilę powinno być, że w języku Python nie ma predefiniowanych i niezależnych typów dzielących dane na podgrupy liczbowe.
Każda zmienna wywołana w programie może w każdej chwili zmienić diametralnie przenoszoną wartość i sposób jej obsługi. W powyższym programie użyliśmy jednej powołanej zmiennej l
i po kolei przypisywaliśmy do niej różne, z punktu widzenia typu danych, diametralnie inne wartości. Program realizował te zadania bez zająknięcia, w sposób jawny przypisując zmiennej nowe wartości, ale w ukryty sposób zmieniając informacje o typie zmiennej. Ten ukryty sposób decyduje o dozwolonych metodach manipulacji danymi.
Powyższy program pokazuje, że wartości liczbowe można obliczać: sumować, mnożyć itp., a wartości tekstowe1tzn. ciągi (łańcuchy) tekstowe można konkatenować, czyli łączyć w jeden łańcuch znakowy. Więcej na temat typów w Python2W niniejszym materiale na tę chwilę posługujemy się dokumentacją Python w wersji 3.14 można się dowiedzieć zaglądając do dokumentacji.
W linii 20 powyższego programu jest próba konkatenacji zmiennych różnych typów – ciągów znakowych oraz wartości liczbowej. W języku Python jest to jednak błąd i jako taki zostanie zgłoszony przy próbie uruchomienia takiego programu. Metoda print
ma jednak możliwość podania w parametrze listy elementów do wyświetlenia. Wystarczy zatem zmodyfikować linię 20 i zapisać ją następująco: print(t1+" ma",p,t2)
. Inne sposoby uzyskania takiego połączenia wymagają już pewnej wiedzy o konwersjach typów print(t1+" ma "+str(p)+" "+t2)
, lub: print((t1+" ma %s "+t2) %(p))
, albo też z wykorzystaniem metody formatowania wyjścia: print((t1+" ma {0} "+t2).format(p))
.
Zadanie do wykonania: Powtórz wyżej przedstawione zagadnienia i przećwicz w programie powoływanie nowych zmiennych i przypisywanie do nich wartości na swoim komputerze. Zaobserwuj, czy udało Ci się uzyskać identyczne wyniki.
Zapisy kodu programu z wykorzystaniem konwersji lub formatowania wyjścia będą omówione bardziej szczegółowo w dalszej części kursu.
Do obserwacji na już są dwie rzeczy. Pisząc program w środowisku programistycznym możemy liczyć na podpowiedzi słów kluczowych do wykorzystania3wystarczy zacząć wpisywać słowo, a środowisko proponuje rozwinięcie już podanego ciągu literowego pasującymi jego rozszerzeniami, a także całych linii programu do ponownego użycia. Aby skorzystać z sugestii wystarczy wcisnąć klawisz Tab aby wybrana z menu kontekstowego opcja pojawiła się w naszym listingu.