Jak zacząć programować: Python

Artykuł by Paweł Kłapeć

Część 1

Wprowadzenie

Python to wysokopoziomowy język programowania ogólnego przeznaczenia. Został stworzony przez Guido van Rossum, a jego pierwsza wersja ukazała się w 1991 roku. Python stał się bardzo popularnym językiem programowania między innymi dzięki prostej składni, świetnym bibliotekom oraz wsparciu największych firm i portali takich jak Google, Amazon, Facebook czy Instagram. Python znalazł sobie uznanie, zarówno w świecie biznesu, jak i nauki.

Pierwsze kroki

Istnieją dwie popularne wersje Pythona, 2 i 3. Python w wersji 2 opublikowany został po raz pierwszy w 2000 roku (2.7 ostatnia wersja) i jest nadal powszechnie używany. Wiele starszych bibliotek jest kompatybilna tylko z tą wersją Pythona. Python 2.7 będzie wspierany tylko do 2020 roku.

Python 3 opublikowany został po raz pierwszy w 2008 roku i nadal jest rozwijany. Istnieje kilka różnic między Pythonem 3, a jego poprzednikiem. Python 3 poprawił między innymi dzielenie liczb i wsparcie dla Unicode. Pracując z Pythonem zawodowo na pewno spotkasz się z jedną i drugą wersją

W ramach tego poradnika będziemy używać wersji 3.7.4. Aby zacząć korzystać z Pythona wystarczy kliknąć w ten link https://repl.it/languages/python3. Repl.it to strona, która pozwala na tworzenie prostych programów online, bez konieczności przygotowania na swoim komputerze lokalnego środowiska (o tym w części drugiej).

Po przejściu do wskazanego linku ukaże się takie okno:

Środkowe okno to edytor tekstu. Okno po prawej stronie to konsola, która będzie pokazywała komunikaty, które zwraca nasz program. Na górnym pasku nawigacji znajduje się zielony przycisk run, który uruchamia nasz program. W repl.it można utworzyć konto i zapisać stworzony kod, ale nie jest to konieczne.

Hello world

Zapewne pierwszym programem jakiego nauczył się każdy programista to wyświetlanie w konsoli  “Hello, World!”. Wprowadź w edytor poniższy kod i kliknij zielony przycisk run.

W konsoli po prawej stronie pojawi się następujący wynik.

Gratulacje! Właśnie stworzyłeś/aś swój pierwszy program w Pythonie. Funkcja print pozwala na “wydrukowanie” wyniku do konsoli. Zwróć uwagę na cudzysłów. W taki sposób definiujemy tekstowy typ danych (string)  w Pythonie. Nie ma znaczenia, czy użyjesz pojedynczego cudzysłowu (I like Python), czy podwójnego (I like Python) Spróbuj wpisać zamiast Hello, World inne zdanie i kliknij run.

W Pythonie 2 wyrażenie print wygląda odrobinę inaczej (nie jest to funkcja)

Python jako kalkulator

Tak jak każdy innym język programowania Python wspiera operatory arytmetyczne.

Operator Nazwa Przykład
+ Dodawanie x + y
Odejmowanie x – y
* Mnożenie x * y
/ Dzielenie x / y
% Modulo x % y
** Potęgowanie x ** y
// Floor division x // y

Usuń w edytorze wyrażenie print i wprowadź następujące obliczenia.

W konsoli zobaczymy wyniki.

Na szczególną uwagę zasługuje operator dzielenia, który zawsze zwraca nam typ danych float (liczba zmiennoprzecinkowa/liczba rzeczywista). W Pythonie 2 dla podanego przykładu operator dzielenia zwraca integer (w skrócie int – liczbę całkowitą). Jest to jedna z istotnych różnic między Pythonem 2 a 3.

Python 2

Python 3

Część operatorów wykorzystywana jest także przez inne typy danych, np. możemy połączyć ze sobą tekst.

Zmienne

W ostatnim przykładzie na pewno zauważyłeś/aś coś nowego: number = 8 / 4. Przenieśliśmy nasze wyrażenie do zmiennej. Zmienna służy do przechowywania danych. Jak na razie poznaliśmy trzy typy danych int, float i string.

Jeżeli klikniemy run po wprowadzeniu powyższych wartości do naszego edytora nic się nie zmieni w konsoli. Pomimo tego nasz program utworzył trzy zmienne i przypisał je do nich trzy wyniki. Teraz spróbujmy wydrukować nasze zmienne.

Nasz program wyświetli w konsoli:

Istnieje kilka zasad tworzenia nazw zmiennych:

  • Nazwa zmiennej musi zaczynać się od litery lub podkreślnika ( _ )
  • Nazwa zmiennej nie może zaczyna się od liczby
  • Nazwa zmiennej może tylko zawierać alfanumeryczne znaki oraz podkreślnik (A-z, 0-9, and _ )
  • Wielkość liter ma znaczenie (age, Age and AGE będą trzema różnymi zmiennymi)

Spróbuj zdefiniować w naszym edytorze zmienną 8_mile i przypisać do niej liczbę 8

Nasz program zwróci nam błąd.

Błędy

Błąd SyntaxError mówi nam, że składnia naszego kodu jest nieprawidłowa. W naszym przykładzie zaczęliśmy nazwę zmiennej od liczby, co nie jest dozwolone. W efekcie program zwrócił nam błąd. Dodatkowo dostaliśmy informację, w którym miejscu naszego kodu wprowadziliśmy błędne wyrażenie. Nie zawsze otrzymamy dokładną informację o naszym błędzie i będziemy musieli przeanalizować nasz kod, aby odnaleźć błąd (bug).

Nieważne czy ktoś stawia swoje pierwsze kroki czy jest weteranem, każdy z nas popełnia błędy. Musisz się do tego przyzwyczaić i nie poddawać się. W trakcie swojej przygody z programowaniem będziesz popełniać wiele błędów.

Jeśli pomimo wielu prób twój program nadal nie działa jak należy zawsze warto spróbować wygooglować swój problem. Istnieje 99,9% szansy, że ktoś już kiedyś natrafił na ten sam problem co ty i stworzył post w Internecie. Jednym z najbardziej popularnych portali, na którym możesz znaleźć rozwiązania swoich problemów i uzyskać odpowiedzi na pytania jest StackOverflow (https://stackoverflow.com/).

Funkcje

Wyrażenie print() to funkcja. Funkcja to blok kodu, który jest wykonywany w momencie gdy go wywołamy. Funkcja może być wywoływana wielokrotnie, dzięki czemu nasz kod się nie powtarza. Oczywiście możemy definiować własne funkcje. Aby zdefiniować własną funkcję zaczynamy od wyrażenia def następnie wprowadzamy nazwę funkcji (obowiązują te same zasady nazywania co w przypadku zmiennych). Na końcu stawiamy nawias () i dwukropek :. Następnie klikamy Enter i Tab lub 4 spacje i tworzymy zawartość naszej funkcji, np.

W przeciwieństwie do takich języków jak Javascript, C, czy C#, Python nie używa nawiasów klamrowych {} do ograniczania bloków kodu. Zamiast tego Python korzysta z intendacji (wcięć). Może to być Tab lub wielokrotność spacji. Ważne jest aby w całym programie trzymać się tej samej konwencji. Inaczej zobaczysz podobny błąd: IndentationError: unexpected indent.

Dobrą praktyką jest używanie 4 spacji dla każdego poziomu intendacji.

Aby wywołać funkcję dodajemy w edytorze sum(1, 2). Zwróć uwagę na nawiasy na końcu. To dzięki nim nasz program wie, że powinien wywołać naszą funkcję.

Funkcje z reguły zwracają określoną wartość po wykonaniu stworzonych przez nas kalkulacji (wyrażenie return). Co więcej funkcja często przyjmuje argumenty (zmienne), który wykorzystujemy do naszych kalkulacji. Na przykład:

W powyższym przykładzie arg1 i arg2 to argumenty funkcji sum. Wewnątrz funkcji sumujemy te argumenty i przypisujemy wynik do zmiennej total. Następnie każemy funkcji zwrócić wynik obliczeń za pomocą wyrażenia return. Niżej wywołujemy funkcję sum i przypisujemy jej wynik do zmiennej calculations. Na końcu drukujemy wynik do konsoli. Funkcje stanowią jeden z podstawowych elementów budujących twój program.

Staraj się używać relatywnie krótkich, ale zrozumiałych w danym kontekście nazw dla swoich zmiennych, argumentów, funkcji i innych elementów. Nazwa funkcji sum i nazwy argumentów arg1 i arg2 niewiele nam mówią. Załóżmy, że tworzymy program dla sklepu z naturalnymi sokami, który musimy zsumować liczbę bananów i jabłek w magazynie. Spróbujmy poprawić nasz kod.

Teraz nasz kod jest bardziej czytelny i łatwiejszy w zrozumieniu.

Więcej na temat dobrych praktyk kodowania w Pythonie znajdziesz między innymi tutaj https://www.python.org/dev/peps/pep-0008/

Komentarze

Czasami jednak nasz kod jest na tyle złożony, że chcemy wyjaśnić dodatkowe rzeczy. Do tego używamy komentarzy, które tworzymy dodając na początku hashtag #. Interpreter pominie linie zawierające komentarze podczas egzekwowania programu.

Dalsze kroki

Ten poradnik miał na celu pokazać, że żeby zacząć programować w Pythonie wystarczy przeglądarka Internetowa. Nauka programowania to długotrwały proces, w ramach którego budujesz swoją wiedzę i doświadczenie na zasadzie prób i błędów. W ciągu kilku dni czy tygodni nie zostaniesz ekspertem, ale na pewno wiele się nauczysz i będziesz w stanie budować proste programy. W Internecie dostępnych jest wiele darmowych kursów online, w ramach których poznasz podstawy programowania w Pythonie. Jeden kurs nie powinien ci zająć więcej niż kilka tygodni (1-2 godziny kilka razy w tygodniu).

Przykładowe kursy:

  • Introduction to Python:

https://www.udemy.com/course/pythonforbeginnersintro/?LSNPUBID=JVFxdTr9V80&ranEAID=JVFxdTr9V80&ranMID=39197&ranSiteID=JVFxdTr9V80-Ia8yZWW5nu3IZHF3ZhVQ3A

  • CS50’s Web Programming with Python and JavaScript:

https://online-learning.harvard.edu/course/cs50s-web-programming-python-and-javascript?delta=0

  • CS50: Introduction to Computer Science (Podstawy programowania):

https://online-learning.harvard.edu/course/cs50-introduction-computer-science?delta=0

  • Google’s Python Class:

https://developers.google.com/edu/python

  • Learn Python The Hard Way

https://learncodethehardway.org/python/

Polecam zrobić jeden lub dwa takie kursy, a następnie pomyśleć o stworzeniu własnego projektu. Prosty program, który pomoże lub ułatwi ci realizację zadań w pracy lub np. pomoże planowaniu domowego budżetu. Możliwości są tak praktycznie nieograniczone. Dzięki własnym projektom szybko natrafisz na luki w wiedzy i wyznaczysz sobie kierunek w jakim będzie chciał/a rozwijać swoje umiejętności.

W kolejnej części poznasz jak zainstalować Pythona i przygotować środowisko programistyczne na własnym komputerze.

Część 2

Instalacja

Python działa zarówno na Windowsie, jak i macOS oraz Linuxie (np. Ubuntu). Python w wersji 3.5+ nie będzie działał na Windowsie XP i starszym.

Windows

Udajemy się na stronę https://www.python.org/ przechodzimy do zakładki Downloads i klikamy przycisk Python 3.7.4 pod napisem Download….

Gdy przeglądarka zakończy pobieranie pliku otwieramy go. Pojawi się nam okno instalacji. Ważne: przed kliknięciem Install Now zaznacz checkbox Add Python 3.7.4 to PATH.

Po zakończonej instalacji klikamy na pole wyszukiwania w dolnym lewym rogu pulpitu i wpisujemy cmd pojawi się na aplikacja Command Prompt (dalej wiersz poleceń). Otwieramy wiersz poleceń i wpisujemy python . Pojawi się nam interaktywna konsola Pythona. Gotowe! W przypadku problemów z instalacją odwiedź oficjalny poradnik (https://docs.python.org/3/using/windows.html)

MacOS

Python w wersji 2.7 jest już zainstalowany na twoim macku. Wystarczy, że otworzysz Spotlight (command ⌘ + spacja), wpiszesz słowo terminal i klikniesz Enter . Otworzy się okno wiersza poleceń. Wpisz polecenie python. Gotowe. Jeżeli chcesz opuścić interpreter wpisz exit().

Jeżeli jednak chcesz korzystać z wersji 3.7 musisz w pierwszej kolejności zainstalować Xcode i Homebrew. Homebrew jest przydatnym narzędziem, dzięki któremu możesz w łatwy sposób zainstalować różnego rodzaju programy i paczki. Homebrew potrzebuje do prawidłowego działania Xcode, dlatego musimy zainstalować go w pierwszej kolejności.

Aby zainstalować Xcode w wiersz poleceń wpisz:

Aby zainstalować Homebrew wprowadź:

Po zakończonej instalacji sprawdzamy czy wszystko działa prawidłowo:

Powinna pojawić się następująca informacja:

Teraz możemy zainstalować Pythona 3. Wprowadź w wiersz poleceń:

Gotowe. Teraz wystarczy, że wpiszesz komendę python3.

Linux (Ubuntu)

Aby sprawdzić czy python 3 jest już zainstalowany na twoim systemie wpisz w terminal:

Jeżeli używasz Ubuntu 16.10 lub nowszego możesz w łatwy sposób zainstalować Pythona 3.7 wpisując następujące komendy:

Poniższe polecenie uruchomi Pythona 2.7:

A to polecenie uruchomi Pythona 3.7:

Wirtualne środowisko

Korzystając z Pythona na pewno z czasem zaczniesz używać zewnętrznych bibliotek i modułów. Twoje aplikacje często będą potrzebowały różnych wersji danej biblioteki. Rozwiązaniem tego problemu jest utworzenie wirtualnego środowiska, folderu zawierającego konkretną wersję Pythona wraz ze wszystkimi potrzebnymi bibliotekami.

Aby stworzyć wirtualne środowisko w Pythonie 3 wprowadź następującą komendę w wierszu poleceń. Słowo test to nazwa folderu jaki zostanie utworzony.

Na Linuxie venv może nie być dostępny. Pojawi się wtedy komunikat

Użyj wtedy razem z sudo komendy z komunikatu.

Aby aktywować wirtualne środowisko:

  • w Windowsie wpisz w terminal:

  • w Linuxie oraz MacOS wpisz w terminal:

Aktywacja wirtualnego środowiska zmieni nieznacznie wygląd twojego wiersza poleceń

Edytor tekstu

Osobiście polecam Visual Studio Code (https://code.visualstudio.com/). Jest to darmowy, dostępny na wszystkich popularnych platformach edytor, który posiada świetne rozszerzenia. Instalacja jest prosta i szybka.


You May Also Like