Skocz do zawartości

Programowanie w Python. Podstawy dla początkujących


Pomocna odpowiedź

Języki programowania przechodziły i nadal przechodzą ewolucję – od asemblerowych instrukcji, aż po złożone systemy abstrakcji pozwalające pisać kod bliższy ludzkiemu myśleniu niż mechanicznej logice procesora. Każdy etap tego rozwoju był ukierunkowany na zwiększenie intuicyjności i efektywności procesu programowania. Wraz z rozwojem technologii zaczęto też dążyć do tworzenia języków wysokopoziomowych, w których programista mógł skupić się na rozwiązywaniu problemów zamiast na szczegółach technicznych działania sprzętu. W tym kontekście narodził się Python - język, który łączy prostotę składni z potężnymi możliwościami, zyskując popularność wśród programistów na całym świecie.

W tym artykule przedstawię Ci:

  • Historię Pythona.
  • Zastosowanie.
  • Filozofię i Zen Pythona.
  • Podstawową składnię i słowa kluczowe.

435517262_Pythonsnake.thumb.jpg.7515df95c4bc9f9422234ae71e007b58.jpg

Czy wiedziałeś, że nazwa języka nie nawiązuje do zwierzęcia, lecz do brytyjskiego serialu komediowego Monty Python’s Flying Circus? Źródło zdjęcia.

 

Historia języka Python

Historia sięga końca lat 80., kiedy Guido van Rossum, holenderski programista, rozpoczął prace nad nowym językiem, który miał być łatwiejszy w użyciu niż dostępne wówczas alternatywy. Van Rossum czerpał inspirację z języka ABC, ale chciał stworzyć narzędzie bardziej elastyczne i wszechstronne. W 1991 roku opublikował pierwszą wersję Pythona (0.9.0), który zawierał takie elementy jak obsługa wyjątków, funkcje i podstawowe typy danych: lista, słownik, łańcuchy znaków i inne.

Python 2 (wydany w 2000 roku) oraz Python 3 (w 2008 roku) – przynosiły nowe funkcje i usprawnienia. Choć Python 2 przez wiele lat był szeroko stosowany, jego wsparcie zakończyło się w 2020 roku na rzecz Pythona 3.

1682422893_wieccaarwka.thumb.jpg.11e611a87a571a425c3474ba37d0038e.jpg

Python został stworzony, aby ułatwić programowanie i uczynić je bardziej intuicyjnym. Źródło zdjęcia.

 

Zastosowanie języka Python

Obecnie Python znajduje zastosowanie w różnych dziedzinach – od analizy danych i sztucznej inteligencji po tworzenie stron internetowych i automatyzację. Bogaty ekosystem bibliotek i funkcjonalności języka sprawiają, że Python dynamicznie się rozwija, pozostając jednym z kluczowych języków współczesnej informatyki.

1. MicroPython i CircuitPython

Python, jako język o szerokim zastosowaniu, doczekał się licznych wersji i wariantów dostosowanych do różnych platform i urządzeń. Jednym z takich przykładów są MicroPython i CircuitPython – lekkie implementacje Pythona, przeznaczone do działania na mikrokontrolerach, takich jak ESP32 czy Raspberry Pi.

626598241_Robotlego.thumb.jpg.a85f4ef8262d585e1452b52987ef955e.jpg

Dzięki współczesnym technologiom możliwe jest programowanie mikrokontrolerów prostymi językami, takimi jak MicroPython. Źródło zdjęcia.

2. Sztuczna inteligencja

Jednym z najważniejszych powodów, dla których Python zyskał tak dużą popularność w środowisku algorytmów sztucznej inteligencji, jest jego przejrzystość i prostota. Python oferuje szeroki wybór bibliotek i narzędzi wspierających uczenie maszynowe oraz sztuczną inteligencję, takich jak Tensorflow oraz Keras. Dzięki Pythonowi możecie zaprojektować własną architekturę konwolucyjnej sieci neuronowej lub zaimplementować różne algorytmy sztucznej inteligencji.

1318225966_Mzgsieneuronowa.thumb.jpg.bdc8d02309dfba3bdaac3c9303eac2f5.jpg

Chciałbyś zaprojektować własną architekturę sieci neuronowej? Python się do tego nada! Źródło zdjęcia.

3. Analiza obrazów

Dzięki Pythonowi można łatwo przetwarzać obrazy, tworzyć algorytmy do analizy wizualnej oraz integrować te rozwiązania z innymi aplikacjami. Przykładowo, OpenCV umożliwia implementację algorytmów do rozpoznawania twarzy, co znajduje zastosowanie w systemach bezpieczeństwa i monitoringu.

2076032176_Rozpoznawanietwarzy.thumb.jpg.670185d53850dd8aa2e8e4567e7c0d43.jpg

Python oferuje biblioteki umożliwiające efektywną analizę obrazu. Źródło zdjęcia.

 

Filozofia i Zen Pythona

Przed rozpoczęciem nauki Pythona warto zapoznać się z jego filozofią, która przyświecała twórcom języka i społeczności programistycznej. Python został zaprojektowany z myślą o czytelności i prostocie. Te wartości są ujęte w Zen Pythona, czyli zestawie 19 zasad przewodnich sformułowanych przez Tima Petersa. Można je wyświetlić w konsoli Pythona, wpisując: import this

Fragment Zen:

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated…

 

Charakterystyka Pythona i narzędzia do pisania w Pythonie

Python jest językiem interpretowanym, co oznacza, że jest wykonywany bezpośrednio przez interpreter, linia po linii, zamiast być kompilowanym do kodu maszynowego przed wykonaniem. Jest również dynamiczny. Nie wymaga deklarowania typu deklarowanej zmiennej.

Istnieje kilka różnych podejść do pracy z Pythonem. Zależnie od osobistych preferencji oraz specyfiki projektu powinieneś dobrać narzędzie, które będzie Ci pasowało:

  • Interaktywny interpreter: interaktywne programowanie i testowanie kodu w czasie rzeczywistym.
  • Edytor tekstu: możliwe jest używanie klasycznych edytorów, takich jak Vim, Emacs, czy Nano.
  • Notatnik typu Google Colab: to świetne połączenie skryptu, tekstu i wizualizacji w jednym miejscu. Wykorzystywany często do nauki programowania lub uczenia maszynowego.
  • Zintegrowane Środowisko Programistyczne (IDE): środowiska takie jak Visual Studio Code oferują pełną integrację z Pythonem, wtyczki do debugowania i wsparcie w pisaniu kodu.

49406596_Pythonprogramminglanguage.thumb.jpg.deead9cc21fc23cfd2feef27114f2e99.jpg

Niezależnie jaką metodę wybierzesz, znajomość podstawowej składni jest niezbędna. Źródło zdjęcia.

W tym artykule będę wykorzystywał Visual Studio Code. Instalacja Pythona została tu pominięta. Przystępując do poniższej treści, powinieneś już mieć zainstalowanego Pythona oraz skonfigurowany edytor tekstu lub ulubione IDE.

Otwórzmy Terminal i włączmy interaktywny interpreter.

896737961_Wczenieterminalawvscode.thumb.png.7fd69625a3e1a03e10acfee5a96e4d01.png

Włączenie Terminala i interaktywnego interpretera. Terminal włącza się poprzez zakładkę lub skrót klawiszowy Ctrl + Shift + `. Po włączeniu należy wpisać komendę python.

 

Podstawowa składnia i słowa kluczowe

Składnia jest podstawowym elementem każdego języka programowania, ponieważ określa zasady, które rządzą tworzeniem poprawnego kodu. Przedstawię Ci najważniejsze funkcje i słowa kluczowe. Zrozumienie tych podstawowych elementów pomoże w efektywnym tworzeniu kodu, który jest nie tylko poprawny, ale także łatwy do zrozumienia i utrzymania.

1. Deklarowanie zmiennych i podstawowe operatory matematyczne

Podobnie jak w innych językach programowania istnieje możliwość deklarowania zmiennych. Tak jak wspomniałem, Python jest językiem dynamicznym. Nie ma więc potrzeby podawania typu zmiennej.

>>> a = 3
>>> b = 4.5
>>> c = 3.333
>>> a + b * c
17.9985

W Python występują podstawowe operatory matematyczne:

  • Dodawanie: +
  • Odejmowanie: -
  • Mnożenie: *
  • Dzielenie: /
  • Reszta z dzielenia: %
  • Potęgowanie: **
  • Dzielenie całkowite: //
>>> 5 % 2
1
>>> 3 ** 4
81
>>> 10 // 3
3

Możemy zadeklarować łańcuch znaków (napis):

>>> napis = "Hello Forbot!"
>>> napis
'Hello Forbot!'

Napisy możemy zawierać w cudzysłowie lub w apostrofie. Nie ma to znaczenia.

Do zmiennej możemy przypisać wartość logiczną i wykonywać za pomocą niej operacje.

>>> logika_1 = True
>>> logika_2 = False
>>> logika_1 + logika_2
1
>>> logika_1 * logika_2
0

Warto zauważyć, że True oraz False można reprezentować jako kolejno: 1 i 0.

2. Kontenery danych

W Pythonie występują 4 główne kontenery danych:

  • Lista (ang. list): deklaracja nawiasami kwadratowymi. Mutowalny (zmienny) kontener.
  • Krotka (ang. tuple): deklaracja nawiasami okrągłymi. Niemutowalny (niezmienny) kontener.
  • Zbiór (ang. set): deklaracja nawiasami klamrowymi. Niemutowalny, nieindeksowany i posortowany kontener. Jego główną zaletą jest usuwanie powtórzeń elementów.
  • Słownik (ang. dictionary): deklaracja nawiasami klamrowymi. Nieindeksowany kontener, który zawiera pary klucz: wartość. Elementy w słowniku się nie powtarzają.

Deklaracja kolejnych kontenerów danych:

>>> lista = [1, 2, 'a', ['zagniezdzona', 'lista'], 3]
>>> krotka = (1, 2, 'a', [])
>>> zbior = {1, 3.14, 'abc'}
>>> slownik = {"jablko":"czerwony", "marchewka":"pomaranczowy", "banan":"zolty"}

Możemy odwołać się do elementów po indeksach w liście i krotce. W słowniku należy podać klucz, aby odwołać się do poszczególnej wartości. Przykłady odwołań:

>>> lista[2]
'a'
>>> krotka[1]
2
>>> slownik["jablko"]
'czerwony'

3. Skrypty i Hello World!

Czas na skrypty. Stwórzmy plik main.py i wypiszmy w konsoli Hello World! korzystając z funkcji print().

1510153039_PythonHelloWorld.thumb.png.278eaed24d4d09844d54629dc78af155.png

Twój pierwszy program w Pythonie: Hello World!

Jeżeli wszystko jest skonfigurowane dobrze, to w terminalu lub w konsoli powinien się wyświetlić napis Hello World!

W Pythonie nie ma jawnie zadeklarowanej funkcji main(), jak w C/C++. Wszystkie polecenia piszemy z góry do dołu. Instrukcje wliczające się w pętle, instrukcje warunkowe i funkcje poprzedzamy wcięciem jednego tabulatora. Nie stosuje się średników na końcu instrukcji.

4. Instrukcje warunkowe

Konstrukcja instrukcji warunkowych wygląda następująco:

if warunek:
    instrukcje
elif warunek_2:
    instrukcje
else:
    instrukcje

Po warunkach występuje dwukropek, który oznacza, że instrukcje poniżej tyczą się tego warunku. Dodatkowo przed instrukcjami występują wcięcia.

Stwórzmy skrypt, który będzie sprawdzał, czy może istnieć trójkąt o podanych bokach. Należy także sprawdzić, czy podane wartości są poprawne, tj. Czy nie są ujemne lub zerowe. Instrukcje porównania logicznego obejmują operatory or oraz and.

a = 5
b = 4
c = 6

if a <= 0 or b <= 0 or c <= 0:
    print("Blad! Wartosci sa niepoprawne!")
elif a + b > c and a + c > b and b + c > a:
    print("Trojkat moze istniec")
else:
    print("Trojkat NIE moze istniec")

5. Pętle

Python posiada dwa rodzaje pętli:

  • while warunek: dopóki warunek jest spełniony, instrukcje zawarte w pętli się wykonują.
  • for element in zbior: instrukcje związane z pętlą wykonują się dla każdego elementu w zbiorze.

Z obu pętli możemy wyjść poprzez zastosowanie komendy break lub przejść do następnej iteracji słowem continue.

Zaletą pętli for w Pythonie jest bezpośrednie odwoływanie się do elementów w zbiorze. Dzięki temu nie musimy martwić się o indeksy i długość zbioru.

Utwórzmy skrypt, który w pętli while będzie powtarzał potęgowanie, dopóki zmienna będzie mniejsza od stu.

x = 2

while x < 100:
    x = x**2

Zastosujmy pętlę for do iterowania po liście. Jeżeli element w liście wyniesie 0, to zliczmy ją i na końcu podajmy ilość zer w tej liście.

lista_liczb = [1, 2, 0, 56, 89, 0, -1, 12, 0]
licznik_zer = 0

for liczba in lista_liczb:
    if liczba == 0:
        licznik_zer = licznik_zer + 1

print(licznik_zer)

Jeżeli jednak potrzebujemy iteratora, to możemy zrobić to na dwa sposoby:

  • Chcąc iterować po konkretnych liczbach, możemy zastosować poniższą składnię:
for iterator in range(start, stop, krok)

Stosujemy polecenie range(), które zawiera indeks początkowy, indeks końcowy oraz krok, z jakim iterator będzie przeskakiwał po kolejnych liczbach. Pętla wykona się w zakresie od start do stop-1.

  • Potrzebując iteratora przy liście elementów możemy zastosować polecenie enumerate():
for iterator, element in enumerate(lista_elementow)

Wtedy do zmiennej iterator zostanie wpisany aktualny indeks, a do zmiennej element aktualna wartość ze zbioru lista_elementow.

Skrypt wypisujący w konsoli liczby od 0 do 9:

for i in range(0, 10):
    print(i)

6. Funkcje

Funkcje służą do zwiększenia czytelności kodu niejako chowając powtarzający się kod. Definicja funkcji z dwoma parametrami odbywa się zgodnie z poniższą składnią:

def nazwa_funkcji(arg_1: typ, arg_2:typ) -> typ_zwracanej_zmiennej

Strzałka i typ zwracannej zmiennej jest opcjonalny. Jeżeli nie musimy podawać argumentów do funkcji, to je też możemy pominąć.

Przydatnym słowem kluczowym jest pass. Stosuje się go, jeżeli będziemy implementować funkcję, ale jeszcze nie chcemy budować jej ciała.

Na zakończenie parę słów o komentarzach. Standardowym komentarzem jednowierszowym jest napis poprzedzony znakiem #.

Komentarze wielowierszowe poprzedzamy i kończymy trzema znakami apostrofa (‘ ‘ ‘ komentarz ‘ ‘ ‘) lub cudzysłowami (“ “ “ komentarz “ “ “).

W języku Python możemy dodać opis funkcji, umieszczając go na początku jej ciała w postaci tzw. docstringa. Aby to zrobić, należy otoczyć opis potrójnymi apostrofami (''') lub cudzysłowami (""").

def wylicz_pole(bok_1: int, bok_2: int) -> int:
    ‘’’tu bedzie opis funkcji wylicz_pole‘’’

    pass

def wylicz_prad(napiecie: float, rezystancja: float) -> float:
    prad = napiecie / rezystancja # wyliczenie pradu
    return prad

aktualne_napiecie = 5.45
rezystancja = 1000
aktualny_prad = wylicz_prad(aktualne_napiecie, rezystancja)
print(aktualny_prad) # wypisanie pradu

Oprócz wszystkich wymienionych przeze mnie funkcji i słów kluczowych istnieje jeszcze wiele przydatnych elementów języka Python, takie jak lambda, with, yield. Gorąco zachęcam Cię do szczegółowego zapoznania się z tym językiem, bo znajdzie zastosowanie w wielu projektach.

 

Podsumowanie

Python to wszechstronny język programowania, który zyskał popularność dzięki swojej prostocie i czytelnej składni. Python jest używany w wielu dziedzinach, w tym w analizie danych, sztucznej inteligencji, web development i automatyzacji. Dzięki bogatej bibliotece standardowej oraz licznym zewnętrznym modułom Python jest idealnym narzędziem zarówno dla początkujących, jak i zaawansowanych programistów. Warto się z nim zapoznać, ponieważ jego elastyczność i wsparcie społeczności sprawiają, że jest jednym z najważniejszych języków programowania na świecie.

Edytowano przez Marcel_S
final do wstawienia
  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)
2 godziny temu, ethanak napisał:

To nie jest żaden komentarz tylko po prostu sposób zapisu wielowierszowego stringu. A że string można sobie umieścić w kodzie i traktować jako komentarz wynika tylko z gramatyki Pythona. Równie dobrze można umieścić tam dowolny literał i też nie będzie to błąd (pomijając wątpliwy sens takiej konstrukcji)

Dobra uwaga. Po skompilowaniu ".py" do ".pyc" #komentarz nie zostaje umieszczony w kodzie bajtowym, a '''nie do końca komentarz''' owszem.

Edytowano przez orb777
  • Lubię! 1
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.