Programowanie w Python

04 grudnia 2018

Python to język programowania o bardzo prostej składni. Uznaje się go za najprostszy do nauczenia się. Składnia języka Python bardzo przypomina język angielski.

Czym jest Python?

Python jest językiem, który najczęściej wybiera się na początek przygody z nauką programowania. Dlaczego? Bo jest to język skryptowy, w odróżnieniu od języków kompilowanych (takich jak C# i Java). Co to jest język skryptowy? To taki język, który możesz pisać nawet w zwykłym notatniku, ale najczęściej pisze się w specjalnym edytorze (np. Atom, Visual Studio Code), który ułatwia pracę programiście, podpowiadając składnię, kolorując słowa kluczowe – jednym słowem pomaga pisać lepszy kod! Największy plus języków skryptowych? Bardzo szybko możemy zobaczyć efekt wprowadzonych zmian – wystarczy ponownie uruchomić napisany przez Ciebie kod.

Można powiedzieć, że składnia Pythona przypomina język angielski – nie ma dużego narzutu. W odróżnieniu od języków C# i Java, w Pythonie nie musimy pisać tzw. boiler plate, czyli kodu, który służy do skonfigurowania i wywołania innego kodu. W Pythonie można napisać jedną linijkę kodu, która już zadziała. Właśnie dlatego to świetny język programowania na start, a w dodatku – bardzo użyteczny!

Zainteresuje Cię również: Czy warto uczyć się programowania w Python?

Zastosowanie języka Python

Z Pythona bardzo często korzystają ludzie nie związani bezpośrednio z IT, jak na przykład naukowcy, ekonomiści czy statystycy. Dlaczego? Bo język ten świetnie nadaje się do szybkiej obróbki dużej ilości danych! Za pomocą prostych programów napisanych w Pythonie można sortować, grupować i analizować dane. W świecie big data jest to niezbędne – żaden człowiek nie przetworzy ogromu produkowanych przez nas danych bez pomocy odpowiedniego oprogramowania.

Python znajduje też zastosowanie w tworzeniu rozwiązań służących do machine learning, czyli sztucznej inteligencji. Pomaga zautomatyzować powtarzalne procesy, czyli po prostu oszczędzać czas i oczywiście pieniądze.

Obiekty, kolekcje, komentarze w Pythonie

Aby móc operować na danych w programie musimy te dane gdzieś przechowywać. Do tego służą zmienne – “pudełka” do przechowywania różnych informacji. Mogą to być dane pojedyncze, takie jak liczby:

age = 30

albo łańcuchy tekstowe:

first_name = “Adam”

Bardzo często interesuje nas jednak zbiór powiązanych ze sobą danych, umieszczonych dla prostszego dostępu do nich w jednym kontenerze – kolekcji. Elementy w kolekcji mogą być poukładane jedne po drugich, w ustalonej kolejności – takim przykładem może być lista imion danej osoby:

names = [“Jan”, “Adam”, “Stanisław”]

Przeczytaj więcej o zmiennych w Pythonie

Elementy mogą też być takiego typu, że ich kolejność nie ma znaczenia, ale interesuje nas jednoznaczny identyfikator konkretnego elementu – w takim przypadku używamy słownika przechowującego numery telefonów konkretnej osoby:

phone_numbers = {“stacjonarny”:”12-233-45-77”, “służbowy”:”633-123-123”, “prywatny”:”755-755-755”}

Programista 80% czasu pracy przeznacza na czytanie już napisanego kodu, wyszukiwanie w nim błędów i poprawę ich oraz optymalizację kodu. Aby ułatwić to zadanie można zwiększyć czytelność kodu poprzez odpowiednie komentowanie go. Komentarz to nic innego jak tekst, który w dokładny i jednoznaczny sposób opisuje działanie kodu a jednocześnie nie ma wpływu na jego działanie – komentarze są ignorowanie podczas wykonywania programu.

Komentarze mogą być jednolinijkowe, występujące najczęściej po prawej stronie kodu:

numbers = [1, 3, 5, 7, 11, 13] # list contains first five prime numbers

Często wykorzystujemy większe, bardziej opisowe komentarze, zwłaszcza do poinformowania kolegów z zespołu za co napisany przez nas większy kawałek kodu odpowiada:

def fibonacci_sequence(n):

“”” function used to compute first n elements of fibonacci sequence.

    n must be positive and greater than 1.

    The easiest approach was used, without recursion “”” 

Język Python jest zbudowany w taki sposób, że umożliwia bardzo proste operacje na kolekcjach. Kolekcja to pewna zmienna, określamy ją potocznie jako „kontener” który przechowuje inne obiekty. Z kolei zmienne dzielimy na pojedyncze i kolekcje. Kolekcje dzielą się na tablice, listy, tuple i słowniki. To kilka podstawowych pojęć, których używamy, ucząc programowania w Pythonie.

Zainteresuje Cię również: Deklarowanie funkcji w Pythonie

Klasy w Pythonie

Klasy są jednym z najważniejszych pojęć związanych z programowaniem obiektowym (OOP – Object Oriented Programming). Klasy pomagają poprawić czystość i czytelność kodu poprzez “opakowanie” zmiennych oraz funkcjonalności, które opisują jakąś logiczną całość. Powiedzmy, że chcemy napisać klasę, która ma odpowiadać smartfonowi – kod poniżej:

 

class Smartphone:

def __init__(self, manufacturer, color, weight, screen_resolution):

self.manufacturer = manufacturer

self.color = color

self.weight = weight

self.screen_resolution = screen_resolution
def send_sms(self, number, message):

“”” send message to given number “””

pass


def call(self, number)

“” call given number “””

Taki telefon można opisać ciągiem parametrów – producent, kolor, waga, przekątna ekranu. To wszystko są zmienne, które opisują jeden, konkretny telefon, dlatego przechowujemy je wewnątrz klasy Smartphone. W tej klasie znajdują się również metody, czyli akcje, jakie można wykonać za pomocą naszego telefonu – wysłanie smsa czy przeprowadzenie rozmowy. O klasie można myśleć jako o przepisie na bardzo skomplikowaną zmienną, którą możemy zaprojektować idealnie pod nasze potrzeby.

Klasy są podstawowym pojęciem w programowaniu obiektowym. Klasa to bardzo ogólne określenie, to przepis, zbiór pól i funkcjonalności. Klasa informuje jaki jest producent, kolor, cieżar, rozmiar ekranu. Są to zmienne, które w klasie nazywamy polami. W klasie zawarte są też metody (czynności), jakie może dany obiekt tej klasy wykonywać (np. dzwonić, robić zdjęcia, łączyć się przez AirDrop).

Obiekty w języku Python

Obiekt to konkretny, rzeczywisty reprezentant klasy. Przykładowo, reprezentantem klasy ‘smartfon’ może być czarny Samsung Galaxy S10, o przekątnej ekranu 5,15 cala i wadze 120 g, za pomocą którego możemy dzwonić, wysyłać smsy, przeglądać internet i robić zdjęcia.


Przykładowe zadania w Pythonie


W Codecool studenci uczą się programowania w Pythonie od podstaw. Każdy początkujący programista zaczyna naukę programowania w Pythonie od napisania komendy

print(„hello world”) 

to już w zasadzie taka programistyczna tradycja.

Co dalej? Studenci robią proste zadania algorytmiczne, takie jak na przykład obliczanie silni, obliczanie jakiegoś elementu ciągu Fibonacciego, dokonują manipulacji na plikach (np. skopiuj wszystkie pliki starsze niż..).

Do tego właśnie wykorzystuje się najczęściej języki skryptowe – w sytuacji, gdy mamy duże ilości danych wejściowych i chcemy z nich wyciągnąć jakieś dane statystyczne (np. mamy dane na temat godziny wejścia i wyjścia pracownika z firmy i chcemy obliczyć średnią, jak długo pracował, to jesteśmy w stanie napisać w Pythonie skrypt, który nam to obliczy).

Choć język Python nadaje się do poważnych zastosowań biznesowych w ekonomii czy statystyce, to my staramy się, by nauka programowania w Pythonie rozpoczynała się od przyjemnych zadań. Dlatego studenci Codecool dostają na samym początku takie zadania jak napisanie gry w wisielca czy gry w statki.

W dalszym toku kursu programowania piszą już znacznie bardziej skomplikowane systemy ERP. Enterprise Resource Planning to systemy do obsługi użytkowników i zasobów w firmie. Nasi studenci dostają do napisania system ERP do zarządzania szkołą Codecool lub magazynem w sklepie. Mogą też tworzyć własne programy i często się tak dzieje.

Podsumowanie

Programowanie to rozwiązywanie cudzych problemów – napisane przez nas programy mogą pomóc usprawnić działanie firmy przyjaciół czy rodziców. Jeżeli jeszcze wahasz się, jak zacząć programować, nie zastanawiaj się dłużej. Python świetnie sprawdzi się jako pierwszy język do nauki programowania. Jest czytelny i przejrzysty, a także prosty do pisania. Programując w Python, szybko widzisz efekty swojej pracy. Jest to też język o szerokim zastosowaniu biznesowym, a co za tym idzie znajomość Pythona jest kompetencją poszukiwaną przez pracodawców.