Kurs Podstaw Pythona

Git 🇵🇱

Aby zainstalować Git, należy pobrać instalator z oficjalnej strony https://git-scm.com/downloads i przejść przez proces instalacji. W systemie Linux dla wersji opartych na Debianie, można użyć polecenia...

Dekoratory 🇵🇱

Dekoratory w Pythonie to potężne narzędzie, które pozwala na dynamiczne dodawanie funkcjonalności do istniejących funkcji lub metod. Są one często używane do rozszerzania, modyfikowania lub dostosowywania zachowania funkcji bez konieczności modyfikowania samego kodu źródłowego...

Watki 🇵🇱

Wątki to jednostki wykonawcze procesu, które umożliwiają równoległe wykonanie różnych fragmentów kodu w obrębie jednego programu. Zastosowanie wątków może znacząco przyspieszyć działanie aplikacji, zwłaszcza gdy mamy do czynienia z operacjami blokującymi, takimi jak łączenie się z zewnętrznymi serwe...

Klasy Danych 🇵🇱

Klasy danych w Pythonie (data classes) ułatwiają tworzenie klas, które mają głównie służyć do przechowywania danych. Automatyzują one powtarzalne fragmenty kodu, takie jak inicjalizacja atrybutów, implementacja operatorów porównania, a także generowanie metod takich jak __repr__ i __eq__. Używanie k...

Procesy 🇵🇱

Procesy to samodzielne jednostki wykonywane w systemie operacyjnym, każda z własną przestrzenią adresową i zasobami. Każdy proces działa niezależnie i jest izolowany od innych procesów. W związku z tym, komunikacja między procesami wymaga specjalnych mechanizmów, takich jak kolejki czy potoki. Proce...

Napisy 🇵🇱

Napisy, często nazywane łańcuchami znaków, to jeden z podstawowych typów danych w Pythonie. Reprezentują one ciąg znaków i są niezwykle przydatne w różnego rodzaju operacjach na tekście...

Wyrazenia Regularne 🇵🇱

Wyrażenia regularne to potężne narzędzie do wyszukiwania, analizy i manipulacji tekstem. Umożliwiają one definiowanie wzorców tekstowych, które można następnie odnaleźć w ciągach znaków. Wyrażenia regularne są często wykorzystywane do...

Interaktywna Konsola 🇵🇱

Interaktywna konsola Pythona, znana również jako interpreter, to niezwykle przydatne narzędzie umożliwiające natychmiastowe wykonywanie instrukcji w języku Python. Dzięki niej możemy szybko testować fragmenty kodu, eksplorować biblioteki, debugować problemy oraz uczyć się nowych funkcji języka w spo...

Zmienne 🇵🇱

Zmienne pełnią kluczową rolę w programowaniu, umożliwiając przechowywanie i manipulację danymi. Dzięki nim możemy zapisywać, modyfikować i odzyskiwać wartości w trakcie wykonywania programu. Zrozumienie zmiennych i ich typów jest podstawą do pisania efektywnego i poprawnego kodu...

Pip i Pypi 🇵🇱

PIP (Python Package Installer) to menedżer pakietów dla języka Python, który ułatwia zarządzanie pakietami z repozytorium PyPI (Python Package Index). PIP pozwala na łatwą instalację, aktualizację i usuwanie pakietów, co jest nieocenione przy rozbudowie projektów i zarządzaniu zależnościami...

Pandas i Csv 🇵🇱

Pandas to potężna biblioteka w języku Python, przeznaczona do analizy i przetwarzania danych. Jednym z kluczowych zastosowań Pandas jest obsługa plików CSV (Comma-Separated Values). Biblioteka ta udostępnia funkcje takie jak to_csv() do zapisywania ramki danych (DataFrame) do pliku CSV oraz read_csv...

Generatory 🇵🇱

Generator to specjalny rodzaj funkcji w Pythonie, który umożliwia zwracanie wartości pojedynczo zamiast wszystkich naraz, tak jak w przypadku listy lub innego iterowalnego obiektu. Dzięki temu generatory są bardziej wydajne pod względem zużycia pamięci, ponieważ nie muszą przechowywać całej kolekcji...

Dbanie o Jakosc Kodu 🇵🇱

Kod może być składniowo poprawny, ale jednocześnie nieczytelny lub źle zorganizowany. Przestrzeganie pewnych standardów i konwencji pisania kodu jest niezbędne, zwłaszcza gdy w projekcie uczestniczy wielu programistów. Konwencje te opisane są w dokumentach PEP (Python Enhancement Proposals), a wśród...

Api wraz z Fastapi 🇵🇱

FastAPI to nowoczesne, wydajne i łatwe w użyciu narzędzie do tworzenia API w Pythonie. Za jego popularność odpowiada prostota tworzenia aplikacji, wbudowana walidacja danych oraz automatyczne generowanie dokumentacji...

Jupyter Notebooks 🇵🇱

Jupyter Notebooks to zaawansowane środowisko pracy umożliwiające tworzenie i udostępnianie interaktywnych dokumentów, które integrują kod z bogatymi treściami multimedialnymi takimi jak teksty, wykresy, animacje, a nawet elementy interaktywne. Chociaż najczęściej kojarzone z językiem Python, Jupyter...

Bazy Danych z Sqlite 🇵🇱

Na rynku dostępnych jest wiele różnorodnych systemów zarządzania bazami danych (DBMS). Każdy z nich posiada specyficzne wady i zalety. Jednym z popularnych, lekkich DBMS jest SQLite. Kluczowe cechy SQLite to...

Http i Prosty Serwer 🇵🇱

HTTP (Hypertext Transfer Protocol) to protokół warstwy aplikacji w modelu OSI, używany głównie do przesyłania danych między klientem (zwykle przeglądarką internetową) a serwerem. Protokół ten opiera się na modelu żądanie-odpowiedź, gdzie klient wysyła zapytanie HTTP, a serwer zwraca odpowiedź. HTTP ...

Wprowadzenie do Kursu 🇵🇱

Głównym celem tego kursu jest zapoznanie uczestników z językiem programowania Python - od podstaw po bardziej zaawansowane zagadnienia. Kurs został zaprojektowany tak, aby uczestnik mógł płynnie przechodzić przez kolejne etapy nauki, jednocześnie zdobywając praktyczne umiejętności...

Programowanie Wstep 🇵🇱

Program to precyzyjnie sformułowany zestaw instrukcji lub poleceń, które komputer wykonuje w celu rozwiązania konkretnego problemu lub realizacji określonego zadania. Instrukcje te są napisane w języku programowania, który jest zrozumiały dla programistów i może być przetworzony na język zrozumiały ...

Inspekcja Kodu 🇵🇱

Inspekcja kodu, znana również jako recenzja kodu lub z angielskiego "Code Review", to proces systematycznej oceny kodu źródłowego przez jednego lub więcej programistów, którzy nie są jego autorami. Stanowi ona kluczowy element cyklu życia oprogramowania, mający na celu poprawę jakości kodu, wykrycie...

Debugowanie 🇵🇱

Debugowanie to fundamentalny proces w tworzeniu oprogramowania, polegający na identyfikowaniu, analizowaniu i usuwaniu błędów (bugów) w kodzie źródłowym programu. Błędy te mogą prowadzić do nieprawidłowego działania aplikacji, awarii systemu lub nieoczekiwanych rezultatów. Debugowanie umożliwia prog...

Paradygmaty Programowania 🇵🇱

Paradygmat w programowaniu to nie tylko sposób myślenia o tworzeniu programów, ale także zestaw konceptów i technik, które kierują projektowaniem i strukturyzacją oprogramowania. Te filozofie wpływają na to, jak programiści definiują problemy oraz jak podejmują decyzje o sposobie ich rozwiązania. Ch...

Testy 🇵🇱

Testy w kontekście inżynierii oprogramowania odnoszą się do procesu weryfikacji i walidacji kodu, aby zapewnić, że działa on zgodnie z oczekiwaniami i spełnia określone wymagania. Testy pomagają w wykrywaniu błędów i niespójności, które mogą prowadzić do nieprawidłowego działania oprogramowania...

Klasy i Obiekty 🇵🇱

Programowanie obiektowe (ang. Object-Oriented Programming, OOP) to paradygmat programowania, który opiera się na koncepcji "obiektów". Obiekty są instancjami klas, które łączą dane (atrybuty) i funkcje (metody) w jedną jednostkę. Klasy i obiekty są podstawowymi elementami tego paradygmatu i przynosz...

Struktury Danych 🇵🇱

Mamy do dyspozycji kilka różnych sposobów przechowywania danych, które nazywamy strukturami danych. Są to narzędzia, dzięki którym możemy zbierać i przechowywać duże ilości danych w sposób uporządkowany, co znacząco ułatwia pracę z tymi danymi...

Funkcje 🇵🇱

Funkcje są blokami instrukcji zamkniętymi pod jedną nazwą i pozwalającymi na kontrolowanie z zewnątrz poprzez przekazywanie argumentów. Definicja funkcji polega na określeniu, które instrukcje należą do ciała funkcji, ile argumentów oczekuje funkcja oraz jaką nazwą będzie ona wywoływana w innych mie...

Enum 🇵🇱

Enum (od angielskiego słowa "enumerate" - numerować) to specjalny typ danych w Pythonie, który pozwala na definiowanie uporządkowanych zestawów nazwanych wartości. Wartości te są unikalne i niemodyfikowalne, co czyni je idealnymi do reprezentowania stałych w kodzie...

Testy Jednostkowe 🇵🇱

Testy jednostkowe stanowią kluczowy element w procesie wytwarzania oprogramowania, mając na celu weryfikację indywidualnych fragmentów kodu (zazwyczaj funkcji lub metod). Pozwalają programiście mieć pewność, że napisane przez niego komponenty działają zgodnie z oczekiwaniami oraz pomagają w identyfi...

Logi 🇵🇱

W większych aplikacjach, zwłaszcza tych uruchamianych w środowiskach produkcyjnych lub działających przez długi czas, kluczowe znaczenie ma logowanie. Monitorowanie aplikacji za pomocą logów pozwala na analizę jej działania, identyfikację błędów, przewidywanie potencjalnych problemów oraz ocenę wyda...

Iteratory 🇵🇱

Iteratory to fundamentalny koncept w języku Python, szczególnie w kontekście pętli i struktur iterowalnych, takich jak listy, krotki czy zbiory. Python traktuje iteratory jako narzędzie do sukcesywnego uzyskiwania kolejnych elementów z kolekcji danych w sposób zorganizowany, z możliwością zatrzymani...

Asyncio 🇵🇱

Programowanie asynchroniczne to paradygmat, który umożliwia wykonywanie operacji w sposób nieblokujący, pozwalając na równoczesne przetwarzanie wielu zadań w ramach jednego wątku. W przeciwieństwie do tradycyjnego programowania synchronicznego, gdzie operacje są wykonywane sekwencyjnie i każda musi ...

Liczby Losowe 🇵🇱

Liczby losowe odgrywają kluczową rolę w wielu obszarach nauki, technologii i przemysłu, takich jak symulacje komputerowe, gry, analiza statystyczna, uczenie maszynowe, a także w badaniach fizycznych i matematycznych. W Pythonie za generowanie liczb losowych odpowiada moduł random, który zapewnia sze...

Srodowisko Wirtualne 🇵🇱

Środowisko wirtualne to mechanizm, który pozwala na tworzenie odizolowanych przestrzeni dla różnych projektów Pythona. Zapewnia to, że każdy projekt może mieć własne zależności, niezależnie od innych projektów. Dzięki temu możemy unikać potencjalnych konfliktów związanych z różnymi wersjami bibliote...

Kod Bajtowy 🇵🇱

Kod bajtowy (ang. bytecode) w Pythonie to pośrednia, niskopoziomowa reprezentacja kodu źródłowego, która jest zrozumiała dla wirtualnej maszyny Pythona (Python Virtual Machine, PVM). Kiedy uruchamiamy skrypt Pythona, interpreter nie wykonuje bezpośrednio kodu źródłowego; zamiast tego, najpierw kompi...

Moduly i Pakiety 🇵🇱

W Pythonie moduły i pakiety są elementami umożliwiającymi organizację i strukturyzację kodu. Dzięki nim programy stają się bardziej czytelne, łatwiejsze w utrzymaniu i skalowalne. Ułatwiają one zarządzanie dużymi projektami oraz współpracę z innymi programistami. Zrozumienie tych elementów jest niez...

Dokumentacja 🇵🇱

Dokumentacja jest istotnym elementem każdego projektu programistycznego. Umożliwia użytkownikom zrozumienie, jak działa aplikacja, jak jest zbudowana, oraz jakie funkcje oferuje. Odpowiednio przygotowana dokumentacja pomaga również innym programistom w szybkim zrozumieniu kodu, ułatwiając jego dalsz...

Lambdy 🇵🇱

Funkcje lambda, zwane również funkcjami anonimowymi, są narzędziem szeroko stosowanym w programowaniu funkcyjnym. Są to krótkie, jedno-wierszowe funkcje, które nie posiadają przypisanej nazwy i są używane tam, gdzie zdefiniowanie pełnoprawnej funkcji byłoby nadmiarowe lub zbędne. W Pythonie i wielu ...

Programowanie Funkcyjne 🇵🇱

Programowanie funkcyjne, znane również pod angielską nazwą functional programming, to paradygmat programowania, który może wydawać się nieco odmienny od tradycyjnych metod. Zamiast skupiać się na sekwencji kroków i zmianie stanu programu, jak to ma miejsce w programowaniu imperatywnym, programowanie...

Czyste Funkcje i Skutki Uboczne 🇵🇱

Czyste funkcje i niemutowalne obiekty pomagają tworzyć bardziej przewidywalne, łatwe do testowania i debugowania oprogramowanie, co redukuje ryzyko błędów i ułatwia utrzymanie kodu. Zrozumienie efektów ubocznych pozwala programistom unikać nieprzewidzianych problemów, które mogą wynikać z niezamierz...

Pliki Wykonywalne i Pyinstaller 🇵🇱

Tworzenie plików wykonywalnych z kodu Python to skuteczny sposób na dostarczenie aplikacji użytkownikom, którzy nie mają zainstalowanego interpretera Pythona na swoim komputerze. Jest to szczególnie przydatne w środowiskach korporacyjnych oraz wśród użytkowników niezwiązanych z programowaniem, gdzie...

Warunki 🇵🇱

Typ logiczny (bool) w Pythonie może przyjmować jedną z dwóch wartości: True lub False. Jest to kluczowe dla działania instrukcji warunkowych, które decydują o przebiegu programu w zależności od spełnienia określonych kryteriów...

Petle 🇵🇱

Pętle w Pythonie, podobnie jak w wielu innych językach programowania, pozwalają na wielokrotne wykonanie fragmentu kodu. Umożliwiają efektywne przetwarzanie kolekcji danych, takich jak listy czy słowniki, oraz wykonywanie powtarzalnych operacji bez konieczności wielokrotnego pisania tego samego kodu...

Praca z Plikami Pdf 🇵🇱

Praca z plikami PDF w Pythonie jest możliwa dzięki kilku dostępnym bibliotekom. Jednym z najpopularniejszych narzędzi służących do tego celu jest PyPDF2...

Referencje i Kopiowanie 🇵🇱

W Pythonie rozróżniamy dwa kluczowe pojęcia: "referencję" oraz "kopiowanie"...

Dziedziczenie i Kompozycja 🇵🇱

Dziedziczenie i kompozycja to dwa fundamentalne koncepty programowania obiektowego (OOP), które odgrywają kluczową rolę w tworzeniu elastycznego, modularnego i łatwego do utrzymania kodu. Oba podejścia mają swoje zalety i wady, a wybór między nimi zależy od konkretnego kontekstu i wymagań projektu...

Praca z Plikami i Folderami 🇵🇱

Praca z plikami i folderami jest nieodłączną częścią wielu aplikacji i skryptów w Pythonie. Dzięki bogatej bibliotece standardowej, Python oferuje szereg narzędzi, które umożliwiają efektywną manipulację danymi na dysku. Niezależnie od tego, czy chcesz odczytać dane z pliku tekstowego, zapisać wynik...

Wyjatki 🇵🇱

Wyjątki w programowaniu to mechanizm pozwalający na obsługę nieoczekiwanych sytuacji, które mogą wystąpić podczas działania programu. W Pythonie są one kluczowe dla tworzenia niezawodnych aplikacji, które potrafią radzić sobie z błędami w sposób elegancki i kontrolowany. Dzięki wyjątkowym możemy nie...

Wersje Pythona 🇵🇱

Pyenv to potężne narzędzie open-source, które umożliwia programistom łatwe zarządzanie wieloma wersjami Pythona na jednym komputerze. Dzięki Pyenv można nie tylko instalować i przełączać się między różnymi wersjami Pythona, ale także izolować środowiska dla poszczególnych projektów. Jest to szczegól...

Serializacja 🇵🇱

Serializacja to proces przekształcania obiektów lub struktur danych w format, który można łatwo przechowywać, przesyłać i odtwarzać. Dzięki serializacji możemy zapisać stan obiektu w pliku, przesłać go przez sieć lub przechowywać w bazie danych, a następnie w dowolnym momencie przywrócić go do pierw...

Argumenty Linii Polecen 🇵🇱

Python oferuje wszechstronne narzędzia do obsługi argumentów linii poleceń, umożliwiając tworzenie elastycznych i konfigurowalnych skryptów. W zależności od wymagań, można skorzystać zarówno z prostego modułu sys, jak i bardziej zaawansowanego argparse, które dostarczają różnorodne możliwości w zakr...

Tkinter 🇵🇱

Tkinter jest standardowym modułem Pythona służącym do tworzenia interfejsów graficznych użytkownika (GUI). Dzięki niemu możemy szybko i efektywnie tworzyć aplikacje okienkowe, które są interaktywne i przyjazne dla użytkownika. W poniższych sekcjach omówimy szczegółowo, jak zainicjalizować okno główn...

Instalacja w Systemie Windows 🇵🇱

Aby rozpocząć programowanie w Pythonie, konieczne jest przygotowanie odpowiedniego środowiska pracy. Dla większości użytkowników oznacza to pobranie i zainstalowanie odpowiedniej wersji interpretera Pythona. Poniżej znajduje się szczegółowy przewodnik dotyczący instalacji Pythona w systemie Windows...

Informacje o Systemie Operacyjnym 🇵🇱

Praca z systemem operacyjnym jest nieodłączną częścią tworzenia aplikacji i skryptów w Pythonie. Moduł os z biblioteki standardowej dostarcza bogaty zestaw funkcji, które pozwalają na interakcję z systemem operacyjnym w sposób przenośny i niezależny od platformy. Dzięki temu możemy uzyskiwać informa...