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

1.jpg
test

unnamed-3 (1).jpg

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

unnamed-4.jpg

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.

unnamed-5.jpg

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

unnamed-1-1.jpg

4. Test z użyciem frameworka pytest

Pobieranie pytest

Przeprowadzenie testu, będzie możliwe po zainstalowaniu paczki pytest.

Wykonaj następujące kroki:

  1. Kliknij Python Packages
  2. W pole wyszukiwania wpisz słowo pytest, kliknij nazwę paczki
  3. Wybierz Install, znajdujące się w prawym rogu
  4. Poczekaj na komunikat: "Packages installed successfully”

pobrane.jpg

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:

  1. Zainstalowałeś paczkę pytest
  2. 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.

unnamed-2 (1).jpg

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.