fbpx

Czas na drugi wpis z serii „Kurs Python 3 by MR. Od razu na wstępie zapewnię Cię, że pojawi się wreszcie pisanie kodu :).

W poprzednim wpisie — pierwszym z całej serii — skupiliśmy się na przedstawieniu historii i założeń języka. Jeżeli nie widziałeś/widziałaś tego wpisu, to koniecznie się z nim zapoznaj tutaj.

Kurs Python – Wprowadzenie

Na początku, zanim zaczniemy programować, powiem słów kilka o środowiskach. Będę pisał kod na dwóch systemach — Windows 10 Home oraz Ubuntu 18.04. Polecam jeden i drugi system sobie skonfigurować. Najlepiej na jednym komputerze.

Co do laptopa, którego używać będę w tym kursie to HP Pavilion z 17-calowym ekranem. Procesor Intel Core i7-4510U. Zainstalowana pamięć RAM to 8 GB. Dysk HDD 1 TB. Brak dysku SSD to jedna z większych wad tego sprzętu.

W późniejszym czasie parametry tego laptopa będą dobrze rezonować z wynikami obliczeń — zwłaszcza przy programowaniu asynchronicznym i przy algorytmach o dużej złożoności czasowej i pamięciowej.

Czas przejść do instalacji Python 3 i konfiguracji środowiska pracy.

Instalacja Python 3

Skoro mamy sprzęt z zainstalowanym systemem to teraz czas zainstalować Python w wersji 3. O ile z Windows mamy sytuację klarowną. Wystarczy wejść na stronę https://www.python.org/downloads/windows/ i pobrać najbardziej aktualną wersję Python 3, to w przypadku Linux jest to trochę inaczej.

Aby przeprowadzić instalację na systemie Ubuntu, musisz:

  1. Odpalić terminal (Ctrl+Alt+T)
  2. Wpisać komendę sudo add-apt-repository ppa:jonathonf/python-3.8.1
  3. Napisać komendę sudo apt-get update
  4. Wpisać komendę sudo apt-get install python3.8.1

Po tych operacjach Python w najnowszej na moment pisania artykułu wersji zostanie zainstalowany!

Podpowiem Ci jeszcze jedną rzecz. Podczas instalacji zaznacz opcję  „Add Python 3.8 to PATH”. PATH jest zmienną środowiskową w systemie Windows. Zasadniczo informujesz dzięki zaznaczeniu opcji wiersz poleceń, w których folderach ma szukać, próbując znaleźć plik. Jeśli nie dodałeś/dodałaś Pythona do PATH, wywołałbyś/wywołałabyś go z wiersza poleceń w następujący sposób:

C:/Python381/testowyskrypt.py

Natomiast, jeśli dodasz go do PATH, możesz to zrobić, podając tylko nazwę skryptu:

testowyskrypt.py
Zaznaczona opcja "Add Python 3.8 to PATH"
Rysunek 1. Zaznaczona opcja „Add Python 3.8 to PATH”

Pozostaje teraz tylko kliknąć Install Now i po chwili cieszyć się zainstalowanym Python na komputerze.

IDLE

Czas przejść do zapoznania się ze środowiskiem. Chodzi tu dokładnie o IDLE, czyli Integrated DeveLopment Environment. To nic innego jak proste środowisko programowania dla języka Python.

Aby je uruchomić, wystarczy wyszukać IDLE w wyszukiwarce aplikacji lub w Windows Start. Potocznie tego typu konsola nazywana jest powłoką, czyli z angielskiego Shell. Będziemy tam spędzać dość dużo czasu podczas tworzenia kodu.

Po odpaleniu powłoki możemy zacząć od wywołania funkcji help() oraz sprawdzenia praw autorskich.

Wywołanie funkcji help wraz z pokazaniem informacji na temat praw autorskich.
Rysunek 2. Wywołanie funkcji help wraz z pokazaniem informacji na temat praw autorskich.

Shell jest na tyle intuicyjne, że nadaje się bardzo fajnie dla początkujących programistów. Można tam od razu zacząć „kodować”. Dla przykładu zadeklarujmy zmienne a oraz b. Przypiszę im od razu wartości, odpowiednio 2 oraz 5. Wystarczy teraz w trzeciej linii zrobić operację na przykład mnożenia i wynik mamy gotowy!

Wynik mnożenia zmiennej a oraz b w IDLE.
Rysunek 3. Wynik mnożenia zmiennej a oraz b w IDLE.

To właśnie dzięki tej interakcji człowieka z komputerem, który rozumiany jest tu jako interpreter, Python dziś ma taką popularność. Bariera wejścia jest bardzo prosta, nie trzeba od razu pochłaniać tony materiałów, by poznać i zrozumieć semantykę języka.

Poznajmy pierwszą funkcję, która jest często używana. Chodzi o funkcję print, która pozwala wypisać na ekran dowolny ciąg znaków. Podczas tak prostego wywołania funkcji również widzimy prostotę języka. Jedno anglojęzyczne słowo i ujęty w nawiasie napis pozwala nam na jego przetworzenie i wypisanie na konsoli.

Na temat deklaracji zmiennych i ogólnie o funkcjach porozmawiamy w dalszej części.

Funkcja print wypisująca na ekran napis "Programowanie z pasją"
Rysunek 4. Funkcja print wypisująca na ekran napis „Programowanie z pasją”

Kurs Python – Pierwszy skrypt

Czas utworzyć pierwszy skrypt. Utwórzmy nowy plik. Aby to zrobić w Shell-u klikamy File -> New File. Otworzy się nowe okno, w którym będziemy mieli możliwość pisać skrypt, a następnie zapisać go z rozszerzeniem .py (Python file). Napiszę tam przykładowy kod, którego elementy będę opisywał poniżej. Najpierw zadeklaruję dwie zmienne, a następnie wykonam na nich mnożenie i zapiszę wynik do zmiennej C. Po wszystkim wyświetlę za pomocą funkcji print obliczoną wartość.

Aby uruchomić skrypt, wystarczy kliknąć Run -> Run Module. Wynik wykonanego skryptu pojawi się w oknie powłoki tak jak na rysunku poniżej.

a = 5
b = 12

c = a * b

print(c)
Wywołanie skryptu z listingu powyżej.
Rysunek 5. Wywołanie skryptu z listingu powyżej.

Warto zauważyć, że powłoka jest interaktywna. Jeżeli załadowaliśmy skrypt, który się wykonał wyżej i wypisał na ekran wartość 60, to my jako programiści dalej możemy działać na tych zmiennych. Raz jeszcze mogę zrobić print i pomnożyć wartość zmiennej c przez 5. Efekt widoczny na rysunku poniżej.

 Przykład interaktywnej powłoki. Mimo zakończenia skryptu, powłoka nadal pamięta zadeklarowane zmienne.
Rysunek 6. Przykład interaktywnej powłoki. Mimo zakończenia skryptu, powłoka nadal pamięta zadeklarowane zmienne.

Zmienna

Wyżej wspomniałem o takim terminie „zadeklarować zmienną”. Deklarować coś w potocznej mowie to obiecać coś lub na coś się umówić/zobowiązać. Zmienną natomiast możemy porównać do pojemnika, w którym coś będziemy przechowywać. Każdy taki pojemnik musi mieć swoją nazwę. Ja w przykładach w niniejszym artykule nazywam te pojemniki po prostu literami z początku alfabetu łacińskiego (a, b czy c).

Głównym zadaniem tego typu „pojemników” jest przechowywanie zmiennych wartości. Na przykład ilość doświadczenia w grze MMO RPG, ilość pieniędzy na koncie w banku czy ilość czasu, który upłynął od początku nowego roku.

Aby utworzyć zmienną, wystarczy wpisać jej nazwę oraz przypisać jej wartość. Dla przykładu:

productPrice = 100.00

Jako programista jednak musisz mieć świadomość tego, że dobrze napisany kod, który posiada zmienne, musi je dobrze opisywać. Najlepiej w języku angielskim. Nie będzie więc miejsca na jednoliterowe nazwy zmiennych. Dodatkowo wielkość liter w zmiennych ma znaczenie.

productPrice to nie to samo co ProductPrice

Nie jest dopuszczalne również używanie spacji. Skrypt z tak zadeklarowaną zmienną zwróci błąd (product Price). Ostatnią uwagą co do deklarowania zmiennych jest to, by nie używać polskich znaków i liczb na początku. Zmienne takie jak długośćLinii czy 3linie spowodują błąd podczas uruchamiania.

W dalszych przykładach będę powoli wprowadzał w tajniki poprawnie pisanego oprogramowania.

Typy zmiennych

Skoro już wiemy, czym jest zmienna, to teraz w kurs Python pomówmy o jej typach. Typy to rodzaje wartości, które chcemy przechować. W zmiennych możemy przechowywać:

  • liczby całkowite — typ int (integer)
  • liczby zmiennoprzecinkowe — typ float
  • ciągi znaków — typ str (string)
  • wartość logiczna — typ bool

Jak widzimy na powyższym rysunku, musimy uważać na wielkość liter. Język Python jest case sensitive, czyli każda litera — niezależnie od tego, czy duża, czy mała — ma znaczenie. W przypadku zadeklarowania zmiennej bool jako false, zamiast False otrzymamy błąd Invalid Syntax.

Tak samo z deklaracją ciągu znaków. Jeżeli w ciągu znaków mamy znak ‚ (apostrof) i tym znakiem rozpoczniemy nasz string, to dostaniemy błąd Invalid Syntax. Można wtedy string umieścić pomiędzy znakiem ” (cudzysłów) lub w środku zdania znak ‚ (apostrof) poprzedzić znakiem \ (ukośnik wsteczny, lewy ukośnik).

a = 5                               # typ int
b = 12.45                           # typ float
c = 'to jest str'                   # typ str pomiędzy apostrofami
d = "to też jest str"               # typ str pomiędzy cudzysłowami
e = 'To str z \' apostrofem'        # typ str z apostrofem w tekście
f = True                            # typ bool - wartość logiczna

print(a)
print(b)
print(c)
print(d)
print(e)
print(f)

Zaprezentowanie przykładów podstawowych typów danych.
Rysunek 7. Zaprezentowanie przykładów podstawowych typów danych.

Operatory arytmetyczne

Skoro już poznaliśmy zmienne i typy to czas poruszyć kolejny temat w serii „Kurs Python 3 by MR— bardzo intuicyjny, więc pójdzie gładko. Czym jest operator arytmetyczny?

Operatorem nazywamy symbole, które w konkretnym wyrażeniu przyczynią się do wykonania jakiegoś działania — zazwyczaj matematycznego. Operatory możemy podzielić na jednoargumentowe (inkrementacja, dekrementacja, zmiana znaku liczby) oraz dwuargumentowe (dodawanie, odejmowanie, mnożenie, dzielenie, potęgowanie, modulo, konkatenacja).

Podstawowymi operatorami arytmetycznymi w Python są:

  • + (dodawanie, konkatenacja)
  • (odejmowanie, zmiana znaku liczby)
  • / (dzielenie)
  • * (mnożenie)
  • % (modulo)
  • ** (potęgowanie)
  • // (dzielenie z zaokrągleniem w dół, do liczby całkowitej)

Wydawać by się mogło, że operatorów będziemy mieć tylko cztery tak jak w podstawowej matematyce. Nic bardziej mylnego. Wszystkie siedem operatorów na listingu i rysunku poniżej.

# jednoargumentowe
print("jednoargumentowe")
a = -1
b = +12

print(a)
print(b)


# dwuargumentowe
print("dwuargumentowe")
c = 1 + 2                              
d = 4 - 2
e = 10 / 2
f = 2 * 7
g = 7 % 3
h = 4 ** 2
i = 9 // 4

print(c)
print(d)
print(e)
print(f)
print(g)
print(h)
print(i)


# konkatenacja
print("konkatenacja")
j = "To tekst 1 " + "a to tekst 2"
print(j)

Przedstawienie wszystkich operatorów arytmetycznych.
Rysunek 8. Przedstawienie wszystkich operatorów arytmetycznych.

Warto tu jeszcze na chwilę się zatrzymać i przeanalizować kod. Po pierwsze jak działa modulo? Jest to inaczej reszta z dzielenia. W naszym przypadku g = 7 % 3 a wynikiem jest 1. Dlaczego? Wystarczy odpowiedzieć sobie na pytanie, ile trójek mieści się w siódemce. Gdy już uświadomisz sobie, że jest to dwa, to wystarczy przemnożyć dwójkę przez trójkę i odjąć od siódemki. To jest właśnie wynik modulo!

Dodatkowo ciekawym operatorem jest operator dzielenia w dół. W naszym przypadku 9 podzielone przez 4 daje wynik 2.25, czyli zaokrąglenie w dół do pełnej liczby da wynik 2. Taki też został wpisany do zmiennej i.

Ostatnią operacją, nad którą się zatrzymamy to konkatenacja. Jest to połączenie dwóch napisów w jeden za pomocą operatora +. Jest to bardzo często stosowana operacja w wielu językach programowania. Zapamiętaj to!

Komentarze

Z komentarzami jest bardzo ciekawa sprawa. Nie tylko w Python. Obozy programistów dzielimy na tych, którzy nie komentują  kodu w ogóle oraz tych, którzy piszą więcej komentarzy niż kodu. W mojej opinii jedna i druga skrajność jest niebezpieczna. Lepiej pisać drobne komentarze w newralgicznych miejscach.

Oczywiście często w projektach komentarze pomijane są na rzecz tego, że przecież kod jest opisywany podczas pusha na serwer. Z doświadczenia wiem, że taki komentarz nie zawsze jest wystarczającym źródłem wiedzy. Tak samo z dokumentacją techniczną. W późniejszym okresie zaczynają się tam pojawiać zmiany.

I jeszcze jedno. NIE KOMENTUJ FRAGMENTÓW PROGRAMU! Często programiści zostawiają kod zakomentowany, bo przecież kiedyś się przyda. To bzdura — najprawdopodobniej nigdy się nie przyda. Repo jest od tego, by ewentualnie wygrzebać potrzebny fragment kodu. Nie musi się on kisić w komentarzu.

A jak to jest z tymi komentarzami w języku Python?

Jak w większości języków, tak i tu dzielimy je na jedno i wieloliniowe. Aby dodać jednoliniowy komentarz, wystarczy użyć znaku #. Wiele linii obejmujemy w komentarz za pomocą potrójnego użycia znaku ” (podwójny cudzysłów).

# TO JEST KOMENTARZ JEDNOLINIOWY
a = 5                              
b = 12

"""
TO Z KOLEI
JEST KOMENTARZ
WIELOLINIOWY
"""
c = a * b

print(c)
Brak widocznego komentarza jedno i wieloliniowego.
Rysunek 9. Brak widocznego komentarza jedno i wieloliniowego.

Kurs Python – Podsumowanie

Drugi wpis z serii „Kurs Python 3 by MR mamy za sobą. Możesz narzekać na zbyt łatwe przykłady, oczywiste zagadnienia i sporą ilość teorii. Robię to jednak celowo, ponieważ wiem, jak bardzo programowanie może do siebie zrazić początkujące osoby. Pragnę, by każdy z zainteresowanych krok po kroku przyswajał wiedzę. 

Na tym etapie nie ma potrzeby się spieszyć, nie ma potrzeby dawać wielkiej ilości przykładów i miliona linii kodu, którego prawie nikt nie zrozumie. Uczę Cię tak, jak sam chciałbym być uczony parę lat wstecz, gdy zaczynałem programować!

Podsumujmy. Po tym wpisie powinieneś/powinnaś wiedzieć:

  • czym jest IDLE i jak zainstalować Python na systemie Windows i Linux
  • co to jest zmienna, jakie ma zadanie i jak się ją tworzy
  • jakie są typy zmiennych
  • jak stosować komentarze w kodzie
  • czym są operatory arytmetyczne

PS. Będę wdzięczny za komentarze pod tym postem!

PS2. Czeka też na Ciebie prezent. Wystarczy, że zapiszesz się na Newsletter poniżej!

PS3. Dołącz do naszej grupy na Facebook!


Zapisz się na Newsletter, odbierz NAGRODĘ w postaci 10 omówionych algorytmów pojawiających się w pytaniach podczas REKRUTACJI.

Dodatkowo otrzymuj co niedzielę informacje na temat nowych wpisów, wiadomości ze świata IT i matematyki oraz ciekawych wydarzeniach. Nie przegap i dołącz już dziś do 405 osób!.

Źródła

https://www.python.org/  
Autor

👨‍💻 .NET and Python programming passionate 🏦 Digtial Banking Solutions 🎓 Student 📊 Psychology 📚 Bookworm 🏠 Warsaw

2 komentarze

Napisz komentarz

This site uses Akismet to reduce spam. Learn how your comment data is processed.