Python jest językiem programowania, który posiada czytelną i przejrzystą strukturę w postaci bloków i wcięć oraz intuicyjne słowa kluczowe.
1. Przygotowanie do pisania kodu. Instalacja i tworzenie pliku w PyCharm
Instalacja
Zainstaluj Pythona https://www.python.org/downloads/ oraz narzędzie do jego obsługi. Z dostępnych IDE (zintegrowane środowisko programistyczne) polecam PyCharm https://www.jetbrains.com/pycharm/download. PyCharm pomoże Ci stworzyć kod dzięki autouzupełnianiu, uruchomić go, pobrać paczkę pytest i przeprowadzić test.
Jeśli jednak chcesz szybko, bez instalacji, tu i teraz (nawet w telefonie) poznać podstawy i przekonać się, czy Python jest dla Ciebie, skorzystaj z programu online, dostępnego na stronie https://www.programiz.com/python-programming/online-compiler/.
Pamiętaj jednak, że przeprowadzenie testu będzie możliwe jedynie po instalacji Pythona. Jeśli nie chcesz instalować PyCharma, koniecznie dodaj Pythona do zmiennych środowiskowych. Ja, pierwszy kod i test, napiszę dla Ciebie w PyCharmie.
Tworzenie projektu i pliku
Po zainstalowaniu PyCharma utwórz nowy projekt
Stwórz następnie nowy plik File -> New -> Python File -> test_1. Naszym celem jest stworzenie testu, więc dobra praktyka nakazuje, aby nazwa pliku zaczynała się od słowa test, pisanego małą literą. Pamiętaj też, aby w nazwie pliku nie używać spacji. Spację zstępuję znak podkreślenia "_"
Jeśli podczas tworzenia pliku wybierzesz opcję File -> New -> File dodaj rozszerzenie .py po nazwie pliku, np. test_1.py
Zanim zaczniemy pisać kod, chce Ci powiedzieć dwie ważne rzeczy:
- Słowo print (pisane małą literą) wyświetli wynik Twojego kodu
print(123)
Wynik wywołania:
123
- Chcąc wyświetlić wynik kodu, po zdefiniowaniu print należy wybrać jedną z poniższych opcji:
- Run, z menu rozwijanego prawym przyciskiem, na ekranie głównym
- skrót na klawiaturze shift, F10 (jeśli nie działa spróbuj fn, shift, F10)
- zieloną strzałkę w prawym, górnym rogu
Do pierwszego wywołania użyj proszę Run, z menu rozwijanego prawym przyciskiem, na ekranie głównym. Dzięki temu uruchomisz nowy plik.
2. Czas na Twój pierwszy kod. Poznaj zmienne i ich typy w Python
variable = 123
variable jest zmienną. Zmienna odwołuje się do wartości.
= symbol przypisania wartości do zmiennej
123 to wartość zmiennej
Stworzyliśmy zmienna variable i przypisaliśmy do niej wartość 123.
Chcąc wywołać zmienną, potrzebujemy drugą linię kodu
variable = 123
print(variable)
Wynik wywołania: 123
Języki programowania zostały stworzone do definiowana obliczeń. Napiszmy więc kod, który wykonuje operacje matematyczne.
add = 1+2 print(add)
Wynik: 3
multiply = add * 2 print(multiply)
Wynik: 6
Python zapamiętał zmienną add = 3, więc add * 2 = 6.
Poznaj podstawowe typy zmiennych:
- intiger (int) oznacza liczbę całkowitą np.
zmienna =1 zmienna = 836327
- float (float) to liczba zmiennoprzecinkowa np.
zmienna = 8.5 zmienna = 765.9976
- string (str) oznacza ciąg znaków, słowo, wyraz, zdanie. Umieszczamy je w apostrofach ‘ ‘ lub cudzysłowie " ". Formę wybierasz Ty, ale bądź konsekwentny i pisz cały kod z użyciem jednej formy. Przykład zmiennej typu string:
zmienna = 'Hello World' zmienna = 'abc'
- boolean (bool) to typ, który przyjmuje jedną z dwóch wartości logicznych, prawda lub fałsz, czyli True/ False (pisane dużą literą)
Pisząc kod, nie musisz podawać typu zmiennej. Python sam go rozpozna. Dlatego nazywamy go językiem typowanym dynamicznie.
Co się stanie kiedy...
napiszesz słowo, bez apostrofu?
Python wyświetli błąd. Kod nie będzie działał. Chyba, że tym słowem jest wcześniej zdefiniowana nazwa zmiennej.
…napiszesz liczbę z użyciem apostrofu?
Kod będzie działał, ponieważ Python potraktuje liczbę jako słowo. '123' to nie liczba (intiger), ale słowo (string) złożone z trzech znaków.
…cyfry 1 i 2 napiszesz z użyciem apostrofów i dodasz je?
add_strings = '1'+'2' print(add_strings)
Wynik: 12
Python łączy stringi, nie wykona na nich operacji matematycznej, ponieważ dla niego jest to słowo. Połączy więc słowa.
add_words = 'Anna' + 'Nowak' print(add_words)
Wynik: AnnaNowak
Jeśli chcesz dodać spację między imieniem i nazwiskiem dodaj + ' ' +, czyli
create_sentence = 'Anna' + ' ' + 'Nowak' print(create_sentence)
Wynik: Anna Nowak
Baw się, licz, sprawdzaj i twórz za każdym razem inną nazwę zmiennej. Python realizuje kod od góry do dołu. Jeżeli dwie zmienne mają taką samą nazwę, zapamięta ostatnią z nich. Dostosuj nazwę zmiennej do zadania, jakie ona wykonuje, np.
add_two_floats = 1.2 + 2.3 print(add_two_floats)
Wynik: 3.5
Nazwa zmiennej:
- może zawierać liczby, ale nie może zaczynać się od nich
- może zawierać kilka słów oddzielonych znakiem podkreślenia "_" nie spacją
- nie może zawierać znaków specjalnych np. @, %, &
- nie może być słowem kluczowym Pythona jak class, False, True, None, and, or, not, as, assert, break, def, if, elif, else, except, for, from, import, in, is, pass, return, while, yield
Jaka_długa_nazwa_zmiennej
Czy za każdym razem trzeba ją pisać?
Na szczęście nie. Jeśli pracujesz w PyCharm, napisz pierwsze litery, a program podpowie Ci nazwę zmiennej. Wybierz ją i kliknij enter lub tab.
3. Funkcje w Pythonie
def add(x, y): return x+y print(add(2,3))
Wynik: 5
def — słowo kluczowe, niezmienne, zaczyna funkcję
add — nazwa funkcji
x, y — argumenty funkcji
return słowo kluczowe, stałe, zwraca wynik. Return poprzedzone jest wcięciem. Program sam tworzy wcięcie. Jest ono wymagane do poprawnego działania kodu. Python jest wrażliwy na białe znaki, czyli spacje, tabulatory. Kod bez wcięć nie będzie działał. Jeśli chcesz uporządkować swój kod użyj kombinację klawiszy alt, ctrl, L.
Zauważ, że print znajduje się poza funkcją, nie jest poprzedzony wcięciem.
Funkcja przyjmuje argumenty i zwraca wartości. Zakończona na return x+y, działa, ale nie wyświetli wyniku, dopóki nie użyjemy słowa print i nie damy jej argumentów. Po słowie print, w nawiasie odwołujemy się do nazwy funkcji i podstawiamy w miejsce argumentów liczby.
Analogicznie napiszmy funkcję odejmowania. Nie zapomnij o dwukropku w nagłówku, pierwszej linii funkcji.
def minus(x, y): return x-y print(minus(2,3))
Wynik: -1
4. Test z użyciem frameworka pytest
Pobieranie pytest
Przeprowadzenie testu, będzie możliwe po zainstalowaniu paczki pytest.
Wykonaj następujące kroki:
- Kliknij Python Packages
- W pole wyszukiwania wpisz słowo pytest, kliknij nazwę paczki
- Wybierz Install, znajdujące się w prawym rogu
- Poczekaj na komunikat: "Packages installed successfully”
Jeśli nie zainstalowałeś PyCharm, ściągnij paczkę, wpisując w wierszu poleceń systemu Windows: pip install -U pytest.
Test definiujemy identycznie jak funkcję
def test_add(): assert 2 + 3 ==5
def test — słowo kluczowe, stałe, oznacza, że podany kod wykonuje test
add — nazwa testu
(): elementy stałe
Assert, asercja sprawdza poprawność działania. Daje wynik prawda lub fałsz
== operator relacyjny, porównuje dwa argumenty, czy 2+3 jest tym samym co 5
Zwróć uwagę, że po napisaniu def test pojawiła się zielona strzałka przy słowie def. Strzałka jest wymagana do przeprowadzenia testu.
Test uruchomisz dzięki kliknięciu zielonej strzałki, znajdującej się obok słowa def. Wystartuje wtedy pojedynczy test.
Jeśli napiszesz ich kilka i chcesz uruchomić wszystkie, ustaw kursor pod ostatnią linią kodu, kliknij na ekranie głównym prawym przyciskiem i wybierz Run z listy rozwijanej.
Gratuluję! Wykonałeś pierwszy test w Python.
Jeśli nie widzisz strzałki przy słowie def lub kod nie działa, upewnij się, że:
- Zainstalowałeś paczkę pytest
- Twój kod wygląda identycznie jak powyższy a wynik dodawania jest poprawny
Napisz teraz funkcję i test, który sprawdzi jej działanie
def new_add(x, y): return x+y def test_new_add_function(): assert new_add(5,3) == 8
Funkcja new_add przyjmuje dwa argumenty. Zwraca ich sumę. Test, za pomocą asercji sprawdza, czy suma argumentów (5,3) jest tym samym co 8.
Podsumowanie
Znasz już zmienne i funkcje. Potrafisz skorzystać z frameworka pytest i uruchomić test. Co jeszcze warto wiedzieć o Pythonie z perspektywy testera oprogramowania? Zdecydowanie dobrze znać klasy (class) i testy z użyciem fixtures. Z przyjemnością wkrótce opowiem Ci o nich.