logo

Samouczek Pythona | Język programowania Python

Pyton to powszechnie używany język programowania, który oferuje kilka unikalnych funkcji i zalet w porównaniu do języków takich jak Jawa I C++. Nasz samouczek Pythona dokładnie wyjaśnia podstawy Pythona i zaawansowane koncepcje, zaczynając od instalacji, Instrukcje warunkowe , pętle , wbudowane struktury danych , programowanie obiektowe , generatory , obsługa wyjątków , Python RegEx i wiele innych koncepcji. Ten samouczek jest przeznaczony dla początkujących i pracujących profesjonalistów.

Pod koniec lat 80. Guido van Rossuma marzył o rozwijaniu Pythona. Pierwsza wersja Python 0.9.0 został wydany w 1991 roku . Od momentu wydania Python zaczął zyskiwać na popularności. Według raportów Python jest obecnie najpopularniejszym językiem programowania wśród programistów ze względu na wysokie wymagania w dziedzinie technologii.

Co to jest Python

Python to uniwersalny, dynamicznie typowany, wysokiego poziomu, kompilowany i interpretowany, zbierający śmieci i czysto obiektowy język programowania, który obsługuje programowanie proceduralne, obiektowe i funkcjonalne.

Cechy Pythona:

    Łatwy w użyciu i czytaniu -Składnia Pythona jest jasna i łatwa do odczytania, co czyni go idealnym językiem zarówno dla początkujących, jak i doświadczonych programistów. Ta prostota może prowadzić do szybszego rozwoju i zmniejszyć ryzyko błędów.Wpisane dynamicznie- Typy danych zmiennych są określane w czasie wykonywania. Podczas pisania kodów nie musimy określać typu danych zmiennej.Wysoki poziom- Język wysokiego poziomu oznacza kod czytelny dla człowieka.Skompilowane i zinterpretowane- Kod Pythona jest najpierw kompilowany do kodu bajtowego, a następnie interpretowany linia po linii. Kiedy pobieramy Pythona w naszym formularzu systemowym org pobieramy domyślną implementację Pythona znaną jako CPython. CPython jest uważany za zgodny i interpretowany zarówno.Zebrane śmieci- Alokacja i dealokacja pamięci są zarządzane automatycznie. Programiści nie muszą specjalnie zarządzać pamięcią.Czysto zorientowany obiektowo- Odnosi się do wszystkiego jako obiektu, łącznie z liczbami i ciągami znaków.Kompatybilność między platformami- Python można łatwo zainstalować w systemach Windows, macOS i różnych dystrybucjach Linuksa, umożliwiając programistom tworzenie oprogramowania działającego w różnych systemach operacyjnych.Bogata biblioteka standardowa- Python jest wyposażony w kilka standardowych bibliotek, które zapewniają gotowe do użycia moduły i funkcje do różnych zadań, począwszy od tworzenie stron internetowych I manipulacja danymi Do nauczanie maszynowe I sieciowanie .Otwarte źródło- Python to bezpłatny język programowania typu open source. W rezultacie jest wykorzystywany w wielu sektorach i dyscyplinach.

Python ma wiele zasoby internetowe , projekty open source , I tętniąca życiem społeczność . Nauka języka, wspólna praca nad projektami i wkład w ekosystem Pythona są bardzo łatwe dla programistów.

Dzięki prostej strukturze językowej Python jest łatwiejszy do zrozumienia i napisania kodu. To sprawia, że ​​jest to fantastyczny język programowania dla nowicjuszy. Dodatkowo pomaga doświadczonym programistom w pisaniu przejrzystego i wolnego od błędów kodu.

Python ma wiele bibliotek innych firm, których można użyć w celu ułatwienia jego funkcjonalności. Biblioteki te obejmują wiele dziedzin, na przykład tworzenie stron internetowych, obliczenia naukowe, analizę danych i inne.

Java kontra Python

Python to doskonały wybór do szybkiego programowania i zadań związanych z tworzeniem skryptów. Podczas gdy Java kładzie nacisk na silny system typów i programowanie obiektowe.

Oto kilka podstawowych programów ilustrujących kluczowe różnice między nimi.

Drukowanie „Witaj świecie”

Kod Pythona:

 print('Hello World)' 

W Pythonie jest to jedna linia kodu. Aby wydrukować „Hello World”, wymaga prostej składni

Kod Java:

 public class HelloWorld { public static void main(String[] args) { System.out.println('Hello, World!'); } } 

W Javie musimy deklarować klasy, struktury metod i wiele innych rzeczy.

Chociaż oba programy dają takie same wyniki, możemy zauważyć różnicę w składni instrukcji print.

strony serwera Java
  • W Pythonie łatwo jest nauczyć się i pisać kod. W Javie do wykonania niektórych zadań potrzeba więcej kodu.
  • Python jest typowany dynamicznie, co oznacza, że ​​nie musimy deklarować zmiennej, podczas gdy Java jest typowany statystycznie, co oznacza, że ​​musimy deklarować typ zmiennej.
  • Python nadaje się do różnych dziedzin, takich jak nauka o danych, uczenie maszynowe, tworzenie stron internetowych i nie tylko. Natomiast Java nadaje się do tworzenia stron internetowych, tworzenia aplikacji mobilnych (Android) i nie tylko.

Podstawowa składnia Pythona

W języku programowania Python nie ma użycia nawiasów klamrowych ani średników. Jest to język podobny do angielskiego. Ale Python używa wcięć do zdefiniowania bloku kodu. Wcięcie to nic innego jak dodanie spacji przed instrukcją, gdy jest to potrzebne.

Na przykład -

 def func(): statement 1 statement 2 ………………… ………………… statement N 

W powyższym przykładzie instrukcje znajdujące się na tym samym poziomie po prawej stronie należą do funkcji. Ogólnie rzecz biorąc, do zdefiniowania wcięcia możemy użyć czterech białych znaków.

Zamiast średnika używanego w innych językach, Python kończy swoje instrukcje znakiem nowej linii.

Python jest językiem, w którym rozróżniana jest wielkość liter, co oznacza, że ​​wielkie i małe litery są traktowane odmiennie. Na przykład „nazwa” i „Nazwa” to dwie różne zmienne w Pythonie.

W Pythonie komentarze można dodawać za pomocą symbolu „#”. Każdy tekst napisany po symbolu „#” jest uważany za komentarz i jest ignorowany przez tłumacza. Ta sztuczka jest przydatna do dodawania notatek do kodu lub tymczasowego wyłączania bloku kodu. Pomaga także w lepszym zrozumieniu kodu przez innych programistów.

'Jeśli' , „w przeciwnym razie”, „for”, „while”, „spróbuj”, „z wyjątkiem” i „w końcu” to kilka zarezerwowanych słów kluczowych w Pythonie, których nie można używać jako nazw zmiennych. Terminy te są używane w języku z określonych powodów i mają ustalone znaczenia. Jeśli użyjesz tych słów kluczowych, Twój kod może zawierać błędy lub interpreter może odrzucić je jako potencjalne nowe zmienne.

Historia Pythona

Python został stworzony przez Guido van Rossuma . Pod koniec lat 80. Guido van Rossum, holenderski programista, rozpoczął pracę nad Pythonem w Centrum Wiskunde & Informatica (CWI) w Holandii. Chciał stworzyć następcę Język programowania ABC byłoby to łatwe do odczytania i skuteczne.

W lutym 1991 roku ukazała się pierwsza publiczna wersja Pythona, wersja 0.9.0. Oznaczało to oficjalne narodziny Python jako projekt open source . Język został nazwany na cześć brytyjskiego serialu komediowego „ Latający cyrk Monty Pythona '.

Rozwój Pythona przeszedł kilka etapów. W styczniu 1994 roku wydano Python 1.0 jako użyteczny i stabilny język programowania. Ta wersja zawierała wiele funkcji, które nadal są obecne w Pythonie.

Od 1990 do 2000 roku Python zyskał popularność dzięki swojej prostocie, czytelności i wszechstronności. W październiku 2000 roku wydano Python 2.0 . W Pythonie 2.0 wprowadzono rozumienie list, wyrzucanie elementów bezużytecznych i obsługę Unicode.

W grudniu 2008 roku wydano Python 3.0. W Pythonie 3.0 wprowadzono kilka zmian niezgodnych wstecz, aby poprawić czytelność kodu i łatwość konserwacji.

W całym roku 2010 popularność Pythona wzrosła, szczególnie w takich dziedzinach, jak uczenie maszynowe i tworzenie stron internetowych. Bogaty ekosystem bibliotek i frameworków sprawił, że stał się ulubionym rozwiązaniem wśród programistów.

The Fundacja Python Software Foundation (PSF) powstała w 2001 roku promowanie, ochrona i rozwój języka programowania Python i jego społeczności.

Dlaczego warto uczyć się Pythona?

Python zapewnia programiście wiele przydatnych funkcji. Te cechy sprawiają, że jest to najpopularniejszy i powszechnie używany język. Poniżej wymieniliśmy kilka najważniejszych funkcji Pythona.

    Łatwy w użyciu i nauce:Python ma prostą i łatwą do zrozumienia składnię, w przeciwieństwie do tradycyjnych języków, takich jak C, C++, Java itp., dzięki czemu jest łatwy do nauki dla początkujących.Ekspresyjny język:Pozwala programistom wyrazić złożone koncepcje w zaledwie kilku linijkach kodu lub skraca czas programisty.Tłumaczony język:Python nie wymaga kompilacji, co pozwala na szybki rozwój i testowanie. Używa interpretera zamiast kompilatora.
  • Język obiektowy : Obsługuje programowanie obiektowe, ułatwiając pisanie kodu wielokrotnego użytku i modułowego.
  • Otwarte źródło Język: Python jest oprogramowaniem typu open source i można go używać, rozpowszechniać i modyfikować bezpłatnie.Rozciągliwy:Python można rozszerzyć o moduły napisane w C, C++ lub innych językach.Poznaj bibliotekę standardową:Standardowa biblioteka Pythona zawiera wiele modułów i funkcji, których można używać do różnych zadań, takich jak manipulowanie ciągami znaków, programowanie w Internecie i nie tylko.Wsparcie programowania GUI:Python udostępnia kilka frameworków GUI, takich jak Tkinter i PyQt , umożliwiając programistom łatwe tworzenie aplikacji komputerowych.Zintegrowany:Python można łatwo zintegrować z innymi językami i technologiami, takimi jak C/C++, Java i . INTERNET.Możliwość osadzania:Kod Pythona można osadzić w innych aplikacjach jako język skryptowy.Dynamiczna alokacja pamięci:Python automatycznie zarządza alokacją pamięci, ułatwiając programistom pisanie złożonych programów bez martwienia się o zarządzanie pamięcią.Szeroka gama bibliotek i frameworków:Python ma ogromną kolekcję bibliotek i frameworków, takich jak NumPy, Pandas, Django i Flask, które można wykorzystać do rozwiązania szerokiego zakresu problemów.Wszechstronność:Python to uniwersalny język w różnych dziedzinach, takich jak tworzenie stron internetowych, uczenie maszynowe, nauka o danych, sztuczna inteligencja, tworzenie stron internetowych i nie tylko.Wysoki popyt:Wraz z rosnącym zapotrzebowaniem na automatyzację i transformację cyfrową rośnie zapotrzebowanie na programistów Pythona. Wiele branż poszukuje wykwalifikowanych programistów Pythona do pomocy w budowaniu infrastruktury cyfrowej.Zwiększona produktywność:Python ma prostą składnię i potężne biblioteki, które mogą pomóc programistom w szybszym i wydajniejszym pisaniu kodu. Może to zwiększyć produktywność i zaoszczędzić czas programistów i organizacji.Big Data i uczenie maszynowe:Python stał się najczęściej używanym językiem w przypadku dużych zbiorów danych i uczenia maszynowego. Python stał się popularny wśród badaczy danych i inżynierów uczenia maszynowego dzięki bibliotekom takim jak NumPy, Pandas, Scikit-learn, TensorFlow i nie tylko.

Gdzie używany jest Python?

Python jest popularnym językiem programowania ogólnego przeznaczenia, używanym w niemal każdej dziedzinie techniki. Poniżej podano różne obszary zastosowania Pythona.

    Nauka o danych:Nauka o danych to rozległa dziedzina, a Python jest ważnym językiem w tej dziedzinie ze względu na swoją prostotę, łatwość użycia i dostępność potężnych bibliotek do analizy i wizualizacji danych, takich jak NumPy, Pandas i Matplotlib.Aplikacje komputerowe:PyQt i Tkinter to przydatne biblioteki, których można używać w aplikacjach komputerowych opartych na graficznym interfejsie użytkownika (GUI). Istnieją lepsze języki dla tej dziedziny, ale można go używać z innymi językami do tworzenia aplikacji.Aplikacje konsolowe:Python jest również powszechnie używany do tworzenia aplikacji opartych na wierszu poleceń lub konsoli ze względu na łatwość użycia i obsługę zaawansowanych funkcji, takich jak przekierowywanie wejścia/wyjścia i rurociągi.Aplikacje mobilne:Chociaż Python nie jest powszechnie używany do tworzenia aplikacji mobilnych, nadal można go łączyć z frameworkami takimi jak Kivy lub BeeWare, aby tworzyć wieloplatformowe aplikacje mobilne.Rozwój oprogramowania:Python jest uważany za jeden z najlepszych języków do tworzenia oprogramowania. Python jest łatwo kompatybilny zarówno z oprogramowaniem na małą skalę, jak i na dużą skalę.
  • Sztuczna inteligencja : AI to nowa technologia, a Python to doskonały język do sztucznej inteligencji i uczenia maszynowego ze względu na dostępność potężnych bibliotek, takich jak TensorFlow, Keras i PyTorch.
  • Aplikacje internetowe:Python jest powszechnie używany w tworzeniu stron internetowych na zapleczu za pomocą frameworków takich jak Django i Flask oraz na froncie za pomocą narzędzi takich jak JavaScript HTML i CSS.Aplikacje korporacyjne:Pythona można używać do tworzenia aplikacji korporacyjnych na dużą skalę z takimi funkcjami, jak przetwarzanie rozproszone, praca w sieci i przetwarzanie równoległe.Aplikacje CAD 3D:Pythona można używać w aplikacjach do projektowania wspomaganego komputerowo (CAD) 3D za pośrednictwem bibliotek takich jak Blender.Nauczanie maszynowe:Język Python jest szeroko stosowany w uczeniu maszynowym ze względu na jego prostotę, łatwość użycia i dostępność wydajnych bibliotek uczenia maszynowego.Aplikacje do przetwarzania obrazu lub przetwarzania obrazu komputerowego:Pythona można używać do zastosowań związanych z wizją komputerową i przetwarzaniem obrazu dzięki potężnym bibliotekom, takim jak OpenCV i Scikit-image.Rozpoznawanie mowy:Pythona można używać w aplikacjach do rozpoznawania mowy za pośrednictwem bibliotek takich jak SpeechRecognition i PyAudio .Obliczenia naukowe:Biblioteki takie jak NumPy, SciPy i Pandas zapewniają zaawansowane możliwości obliczeń numerycznych do zadań takich jak analiza danych, uczenie maszynowe i nie tylko.Edukacja:Łatwa do nauczenia składnia Pythona i dostępność wielu zasobów sprawiają, że jest to idealny język do nauczania programowania dla początkujących.Testowanie:Python służy do pisania testów automatycznych, udostępniając frameworki takie jak testy jednostkowe i pytest, które pomagają pisać przypadki testowe i generować raporty.Hazard:Python ma biblioteki takie jak Pygame, które zapewniają platformę do tworzenia gier przy użyciu Pythona.Internet Rzeczy:Python jest używany w IoT do tworzenia skryptów i aplikacji na urządzenia takie jak Raspberry Pi, Arduino i inne.Sieć:Język Python jest używany w sieciach do tworzenia skryptów i aplikacji do automatyzacji, monitorowania i zarządzania siecią.
  • DevOps : Python jest szeroko stosowany w DevOps do automatyzacji i tworzenia skryptów zarządzania infrastrukturą, zarządzania konfiguracją i procesów wdrażania.
  • Finanse:Python ma biblioteki takie jak Pandas, Scikit-learn i Statsmodels do modelowania i analiz finansowych.Dźwięk i muzyka:Python ma biblioteki takie jak Pyaudio, która służy do przetwarzania, syntezy i analizy dźwięku, oraz Music21, która służy do analizy i generowania muzyki.Pisanie skryptów:Python służy do pisania skryptów narzędziowych w celu automatyzacji zadań, takich jak operacje na plikach, przeglądanie stron internetowych oraz popularne platformy i biblioteki Pythona

    Python ma szeroką gamę bibliotek i frameworków szeroko stosowanych w różnych dziedzinach, takich jak uczenie maszynowe, sztuczna inteligencja, aplikacje internetowe itp. Poniżej definiujemy niektóre popularne frameworki i biblioteki Pythona.

    Funkcja print() w Pythonie

    Funkcja print() w języku Python służy do wyświetlania danych wyjściowych na konsoli lub terminalu. Pozwala nam wyświetlać tekst, zmienne i inne dane w formacie czytelnym dla człowieka.

    Składnia:

    print(obiekty), sep=separator, koniec=koniec, plik=plik, kolor=flush)

    Pobiera jeden lub więcej argumentów oddzielonych przecinkiem (,) i domyślnie dodaje na końcu znak nowej linii.

    Parametry:

    • obiekt(y) — tyle danych, ile chcesz wyświetlić, zostanie najpierw przekonwertowane na ciąg znaków i wydrukowane na konsoli.
    • sep - Oddziela obiekty przekazanym separatorem, wartość domyślna = ' '.
    • end – kończy linię znakiem nowej linii
    • plik - obiekt pliku z metodą zapisu, wartość domyślna = sys.stdout

    Przykład:

     # Displaying a string print('Hello, World!') # Displaying multiple values name = 'Aman' age = 21 print('Name:', name, 'Age:', age) # Printing variables and literals x = 5 y = 7 print('x =', x, 'y =', y, 'Sum =', x + y) # Printing with formatting percentage = 85.75 print('Score: {:.2f}%'.format(percentage)) 

    Wyjście:

     Hello, World! Name: Aman Age: 21 X = 5 y = 7 Sum = 12 Score: 85.75% 

    W tym przykładzie instrukcja print służy do drukowania wartości łańcuchowych, całkowitych i zmiennoprzecinkowych w formacie czytelnym dla człowieka.

    Instrukcja print może być używana do debugowania, rejestrowania i dostarczania informacji użytkownikowi.

    Instrukcje warunkowe w Pythonie

    Instrukcje warunkowe pomagają nam wykonać określony blok dla określonego warunku. W tym samouczku nauczymy się używać wyrażeń warunkowych do wykonywania innego bloku instrukcji. Python udostępnia słowa kluczowe if i else umożliwiające ustawienie warunków logicznych. The Elif Słowo kluczowe jest również używane jako instrukcja warunkowa.

    Przykładowy kod instrukcji if..else

     x = 10 y = 5 if x > y: print('x is greater than y') else: print('y is greater than or equal to x') 

    Wyjście:

     x is greater than y 

    W powyższym kodzie mamy dwie zmienne, x i y, z odpowiednio 10 i 5. Następnie użyliśmy instrukcji if..else, aby sprawdzić, czy x jest większe od y i odwrotnie. Jeśli pierwszy warunek jest prawdziwy, wypisywane jest stwierdzenie „x jest większe niż y”. Jeśli pierwszy warunek jest fałszywy, zamiast tego wypisywane jest stwierdzenie „y jest większe lub równe x”.

    Słowo kluczowe if sprawdza, czy warunek jest prawdziwy i wykonuje znajdujący się w nim blok kodu. Jeśli warunek jest fałszywy, wykonywany jest kod znajdujący się w bloku else. W ten sposób instrukcja if..else pomaga nam wykonać różne bloki kodu w oparciu o warunek.

    Dowiemy się o tym szerzej w kolejnym artykule tutorialu Pythona.

    Pętle Pythona

    Czasami może zaistnieć potrzeba zmiany przebiegu programu. Wykonanie określonego kodu może wymagać kilkukrotnego powtórzenia. W tym celu języki programowania udostępniają różne pętle zdolne do kilkukrotnego powtórzenia określonego kodu. Rozważ poniższy samouczek, aby szczegółowo zrozumieć instrukcje.

    Python dla pętli

     fruits = ['apple', 'banana', 'cherry'] for x in fruits: print(x, end=' ') 

    Wyjście:

     apple banana cherry 

    Pętla while w Pythonie

     i = 1 while i<5: print(i, end=" " ) i +="1" < pre> <p> <strong>Output:</strong> </p> <pre> 1 2 3 4 </pre> <p>In the above example code, we have demonstrated using two types of loops in Python - For loop and While loop.</p> <p>The For loop is used to iterate over a sequence of items, such as a list, tuple, or string. In the example, we defined a list of fruits and used a for loop to print each fruit, but it can also be used to print a range of numbers.</p> <p>The While loop repeats a code block if the specified condition is true. In the example, we have initialized a variable i to 1 and used a while loop to print the value of i until it becomes greater than or equal to 6. The i += 1 statement is used to increment the value of i in each iteration.</p> <p>We will learn about them in the tutorial in detail.</p> <h2>Python Data Structures</h2> <p> <strong>Python offers four built-in data structures:</strong>  <strong>lists</strong>  ,  <strong>tuples</strong>  ,  <strong>sets</strong>  , and  <strong>dictionaries</strong>  that allow us to store data in an efficient way. Below are the commonly used data structures in Python, along with example code:</p> <h3>1. Lists </h3> <ul> <li>Lists are <strong>ordered collections</strong> of data elements of different data types.</li> <li>Lists are <strong>mutable</strong> meaning a list can be modified anytime.</li> <li>Elements can be <strong>accessed using indices</strong> .</li> <li>They are defined using square bracket &apos; <strong>[]</strong> &apos;.</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a list fruits = [&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;] print(&apos;fuirts[1] =&apos;, fruits[1]) # Modify list fruits.append(&apos;orange&apos;) print(&apos;fruits =&apos;, fruits) num_list = [1, 2, 3, 4, 5] # Calculate sum sum_nums = sum(num_list) print(&apos;sum_nums =&apos;, sum_nums) </pre> <p> <strong>Output:</strong> </p> <pre> fuirts[1] = banana fruits = [&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;orange&apos;] sum_nums = 15 </pre> <h3>2. Tuples </h3> <ul> <li>Tuples are also <strong>ordered collections</strong> of data elements of different data types, similar to Lists.</li> <li>Elements can be <strong>accessed using indices</strong> .</li> <li>Tuples are <strong>immutable</strong> meaning Tuples can&apos;t be modified once created.</li> <li>They are defined using open bracket &apos; <strong>()</strong> &apos;.</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a tuple point = (3, 4) x, y = point print(&apos;(x, y) =&apos;, x, y) # Create another tuple tuple_ = (&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;orange&apos;) print(&apos;Tuple =&apos;, tuple_) </pre> <p> <strong>Output:</strong> </p> <pre> (x, y) = 3 4 Tuple = (&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;orange&apos;) </pre> <h3>3. Sets </h3> <ul> <li>Sets are <strong>unordered</strong> collections of immutable data elements of different data types.</li> <li>Sets are <strong>mutable</strong> .</li> <li>Elements can&apos;t be accessed using indices.</li> <li>Sets <strong>do not contain duplicate elements</strong> .</li> <li>They are defined using curly braces &apos; <strong>{}</strong> &apos;</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a set set1 = {1, 2, 2, 1, 3, 4} print(&apos;set1 =&apos;, set1) # Create another set set2 = {&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;apple&apos;, &apos;orange&apos;} print(&apos;set2 =&apos;, set2) </pre> <p> <strong>Output:</strong> </p> <pre> set1 = {1, 2, 3, 4} set2 = {&apos;apple&apos;, &apos;cherry&apos;, &apos;orange&apos;, &apos;banana&apos;} </pre> <h3>4. Dictionaries </h3> <ul> <li>Dictionary are <strong>key-value pairs</strong> that allow you to associate values with unique keys.</li> <li>They are defined using curly braces &apos; <strong>{}</strong> &apos; with key-value pairs <strong>separated by colons &apos;:&apos;</strong> .</li> <li>Dictionaries are <strong>mutable</strong> .</li> <li>Elements can be accessed using keys.</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a dictionary person = {&apos;name&apos;: &apos;Umesh&apos;, &apos;age&apos;: 25, &apos;city&apos;: &apos;Noida&apos;} print(&apos;person =&apos;, person) print(person[&apos;name&apos;]) # Modify Dictionary person[&apos;age&apos;] = 27 print(&apos;person =&apos;, person) </pre> <p> <strong>Output:</strong> </p> <pre> person = {&apos;name&apos;: &apos;Umesh&apos;, &apos;age&apos;: 25, &apos;city&apos;: &apos;Noida&apos;} Umesh person = {&apos;name&apos;: &apos;Umesh&apos;, &apos;age&apos;: 27, &apos;city&apos;: &apos;Noida&apos;} </pre> <p>These are just a few examples of Python&apos;s built-in data structures. Each data structure has its own characteristics and use cases.</p> <h2>Python Functional Programming</h2> <p>This section of the Python tutorial defines some important tools related to functional programming, such as lambda and recursive functions. These functions are very efficient in accomplishing complex tasks. We define a few important functions, such as reduce, map, and filter. Python provides the functools module that includes various functional programming tools. Visit the following tutorial to learn more about functional programming.</p> <p>Recent versions of Python have introduced features that make functional programming more concise and expressive. For example, the &apos;walrus operator&apos;:= allows for inline variable assignment in expressions, which can be useful when working with nested function calls or list comprehensions.</p> <h2>Python Function</h2> <ol class="points"> <li>  <strong>Lambda Function</strong>  - A lambda function is a small, <strong>anonymous function</strong> that can take any number of arguments but can only have one expression. Lambda functions are often used in functional programming to create functions &apos;on the fly&apos; without defining a named function.</li> <li>  <strong>Recursive Function</strong>  - A recursive function is a function that calls itself to solve a problem. Recursive functions are often used in functional programming to perform complex computations or to traverse complex data structures.</li> <li> <a href="/python-map-function"> <strong>Map Function</strong> </a> - The map() function applies a given function to each item of an iterable and returns a new iterable with the results. The input iterable can be a list, tuple, or other.</li> <li> <a href="/python-filter-function"> <strong>Filter Function</strong> </a> - The filter() function returns an iterator from an iterable for which the function passed as the first argument returns True. It filters out the items from an iterable that do not meet the given condition.</li> <li> <a href="/reduce-python"> <strong>Reduce Function</strong> </a> - The reduce() function applies a function of two arguments cumulatively to the items of an iterable from left to right to reduce it to a single value.</li> <li>  <strong>functools Module</strong>  - The functools module in Python provides higher-order functions that operate on other functions, such as partial() and reduce().</li> <li>  <strong>Currying Function</strong>  - A currying function is a function that takes multiple arguments and returns a sequence of functions that each take a single argument.</li> <li>  <strong>Memoization Function</strong>  - Memoization is a technique used in functional programming to cache the results of expensive function calls and return the cached Result when the same inputs occur again.</li> <li>  <strong>Threading Function</strong>  - Threading is a technique used in functional programming to run multiple tasks simultaneously to make the code more efficient and faster.</li> </ol> <h2>Python Modules</h2> <p> Python modules are the program files that contain Python code or functions. Python has two types of modules - User-defined modules and built-in modules. A module the user defines, or our Python code saved with .py extension, is treated as a user-define module.</p> <p>Built-in modules are predefined modules of Python. To use the functionality of the modules, we need to import them into our current working program.</p> <p>Python modules are essential to the language&apos;s ecosystem since they offer reusable code and functionality that can be imported into any Python program. Here are a few examples of several Python modules, along with a brief description of each:</p> <p>  <strong>Math</strong>  : Gives users access to mathematical constants and pi and trigonometric functions.</p> <p>  <strong>Datetime</strong>  : Provides classes for a simpler way of manipulating dates, times, and periods.</p> <p> <a href="/python-os-module"> <strong>OS</strong> </a> : Enables interaction with the base operating system, including administration of processes and file system activities.</p> <p> <a href="/python-random-module"> <strong>Random</strong> </a> : The random function offers tools for generating random integers and picking random items from a list.</p> <p>  <strong>JSON</strong>  : JSON is a data structure that can be encoded and decoded and is frequently used in online APIs and data exchange. This module allows dealing with JSON. <br>  <strong>Re</strong>  : Supports regular expressions, a potent text-search and text-manipulation tool.</p> <p>  <strong>Collections</strong>  : Provides alternative data structures such as sorted dictionaries, default dictionaries, and named tuples.</p> <p>  <strong>NumPy</strong>  : NumPy is a core toolkit for scientific computing that supports numerical operations on arrays and matrices.</p> <p>  <strong>Pandas</strong>  : It provides high-level data structures and operations for dealing with time series and other structured data types.</p> <p>  <strong>Requests</strong>  : Offers a simple user interface for web APIs and performs HTTP requests.</p> <h2>Python File I/O</h2> <p>Files are used to store data in a computer disk. In this tutorial, we explain the built-in file object of Python. We can open a file using Python script and perform various operations such as writing, reading, and appending. There are various ways of opening a file. We are explained with the relevant example. We will also learn to perform read/write operations on binary files.</p> <p> <strong>Python&apos;s file input/output (I/O) system</strong> offers programs to communicate with files stored on a disc. Python&apos;s built-in methods for the file object let us carry out actions like reading, writing, and adding data to files.</p> <p>The <strong>open()</strong> method in Python makes a file object when working with files. The name of the file to be opened and the mode in which the file is to be opened are the two parameters required by this function. The mode can be used according to work that needs to be done with the file, such as &apos; <strong>r</strong> &apos; for reading, &apos; <strong>w</strong> &apos; for writing, or &apos; <strong>a</strong> &apos; for attaching.</p> <p>After successfully creating an object, different methods can be used according to our work. If we want to write in the file, we can use the write() functions, and if you want to read and write both, then we can use the append() function and, in cases where we only want to read the content of the file we can use read() function. Binary files containing data in a binary rather than a text format may also be worked with using Python. Binary files are written in a manner that humans cannot directly understand. The <strong>rb</strong> and <strong>wb</strong> modes can read and write binary data in binary files.</p> <h2>Python Exceptions</h2> <p>An exception can be defined as an unusual condition in a program resulting in an interruption in the flow of the program.</p> <p>Whenever an exception occurs, the program stops the execution, and thus the other code is not executed. Therefore, an exception is the run-time errors that are unable to handle to Python script. An exception is a Python object that represents an error.</p> <p>  <strong>Python Exceptions</strong>  are an important aspect of error handling in Python programming. When a program encounters an unexpected situation or error, it may raise an exception, which can interrupt the normal flow of the program.</p> <p>In Python, exceptions are represented as objects containing information about the error, including its type and message. The most common type of Exception in Python is the Exception class, a base class for all other built-in exceptions.</p> <p>To handle exceptions in Python, we use the <strong>try</strong> and <strong>except</strong> statements. The <strong>try</strong> statement is used to enclose the code that may raise an exception, while the <strong>except</strong> statement is used to define a block of code that should be executed when an exception occurs.</p> <p> <strong>For example, consider the following code:</strong> </p> <pre> try: x = int ( input (&apos;Enter a number: &apos;)) y = 10 / x print (&apos;Result:&apos;, y) except ZeroDivisionError: print (&apos;Error: Division by zero&apos;) except ValueError: print (&apos;Error: Invalid input&apos;) </pre> <p> <strong>Output:</strong> </p> <pre> Enter a number: 0 Error: Division by zero </pre> <p>In this code, we use the try statement to attempt to perform a division operation. If either of these operations raises an exception, the matching except block is executed.</p> <p>Python also provides many built-in exceptions that can be raised in similar situations. Some common built-in exceptions include <strong>IndexError, TypeError</strong> , and <strong>NameError</strong> . Also, we can define our custom exceptions by creating a new class that inherits from the Exception class.</p> <h2>Python CSV</h2> <p>A CSV stands for &apos;comma separated values&apos;, which is defined as a simple file format that uses specific structuring to arrange tabular data. It stores tabular data such as spreadsheets or databases in plain text and has a common format for data interchange. A CSV file opens into the Excel sheet, and the rows and columns data define the standard format.</p> <p>We can use the CSV.reader function to read a CSV file. This function returns a reader object that we can use to repeat over the rows in the CSV file. Each row is returned as a list of values, where each value corresponds to a column in the CSV file.</p> <p> <strong>For example, consider the following code:</strong> </p> <pre> import csv with open(&apos;data.csv&apos;, &apos;r&apos;) as file: reader = csv.reader(file) for row in reader: print(row) </pre> <p>Here, we open the file data.csv in read mode and create a <strong>csv.reader</strong> object using the <strong>csv.reader()</strong> function. We then iterate over the rows in the CSV file using a for loop and print each row to the console.</p> <p>We can use the  <strong>CSV.writer()</strong>  function to write data to a CSV file. It returns a writer object we can use to write rows to the CSV file. We can write rows by calling the <strong>writer ()</strong> method on the writer object.</p> <p> <strong>For example, consider the following code:</strong> </p> <pre> import csv data = [ [&apos;Name&apos;, &apos;Age&apos;, &apos;Country&apos;], [&apos;Alice&apos;, &apos;25&apos;, &apos;USA&apos;], [&apos;Bob&apos;, &apos;30&apos;, &apos;Canada&apos;], [&apos;Charlie&apos;, &apos;35&apos;, &apos;Australia&apos;] ] with open(&apos;data.csv&apos;, &apos;w&apos;) as file: writer = csv.writer(file) for row in data: writer.writerow(row) </pre> <p>In this program, we create a list of lists called data, where each inner list represents a row of data. We then open the file data.csv in write mode and create a <strong>CSV.writer</strong> object using the CSV.writer function. We then iterate over the rows in data using a for loop and write each row to the CSV file using the writer method.</p> <h2>Python Sending Mail</h2> <p>We can send or read a mail using the Python script. Python&apos;s standard library modules are useful for handling various protocols such as PoP3 and IMAP . Python provides the <a href="/python-sending-email-using-smtp">smtplib</a> module for sending emails using SMTP (Simple Mail Transfer Protocol). We will learn how to send mail with the popular email service SMTP from a Python script.</p> <h3>Python Magic Methods</h3> <p>The Python magic method is the special method that adds &apos;magic&apos; to a class. It starts and ends with double underscores, for example,  <strong>_init_</strong>  or  <strong>_str_</strong>  .</p> <p>The built-in classes define many magic methods. The <strong>dir()</strong> function can be used to see the number of magic methods inherited by a class. It has two prefixes and suffix underscores in the method name.</p> <ul> <li>Python magic methods are also known as <strong>dunder methods</strong> , short for &apos; double underscore &apos; methods because their names start and end with a double underscore.</li> <li>  <strong>Magic methods</strong>  are automatically invoked by the Python interpreter in certain situations, such as when an object is created, compared to another object, or printed.</li> <li>Magic methods can be used to customize the behavior of classes, such as defining how objects are compared, converted to strings, or accessed as containers.</li> <li>Some commonly used magic methods include  <strong>init</strong>  for initializing an object, str for converting an object to a string, <strong>eq</strong> for comparing two objects for equality, and  <strong>getitem</strong>  and <strong>setitem</strong> for accessing items in a container object.</li> </ul> <p>For example, the <strong>str</strong> magic method can define how an object should be represented as a string. Here&apos;s an example</p> <pre> class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f&apos;{self.name} ({self.age})&apos; person = Person(&apos;Vikas&apos;, 22) print(person) </pre> <p> <strong>Output:</strong> </p> <pre> Vikas (22) </pre> <p>In this example, the str method is defined to return a formatted string representation of the Person object with the person&apos;s name and age.</p> <p>Another commonly used magic method is <strong>eq</strong> , which defines how objects should be compared for equality. Here&apos;s an example:</p> <pre> class Point: def __init__(self, x, y): self.x = x self.y = y def __eq__(self, other): return self.x == other.x and self.y == other.y point1 = Point(2, 3) point2 = Point(3, 4) point3 = Point(2, 3) print(point1 == point2) print(point1 == point3) </pre> <p> <strong>Output:</strong> </p> <pre> False True </pre> <p>In this example, the <strong>eq</strong> method is defined to return True if two Point objects have the same x and y coordinates and False otherwise.</p> <h2>Python Oops Concepts</h2> <p>Everything in Python is treated as an object, including integer values, floats, functions, classes, and none. Apart from that, Python supports all oriented concepts. Below is a brief introduction to the Oops concepts of Python.</p> <ul> <li> <a href="/classes-objects-python"> <strong>Classes and Objects</strong> </a> - Python classes are the blueprints of the Object. An object is a collection of data and methods that act on the data.</li> <li> <a href="/python-inheritance"> <strong>Inheritance</strong> </a> - An inheritance is a technique where one class inherits the properties of other classes.</li> <li> <a href="/python-constructor"> <strong>Constructor</strong> </a> - Python provides a special method __init__() which is known as a constructor. This method is automatically called when an object is instantiated.</li> <tr><td>Data Member</td> - A variable that holds data associated with a class and its objects. <li>  <strong>Polymorphism</strong>  - Polymorphism is a concept where an object can take many forms. In Python, polymorphism can be achieved through method overloading and method overriding.</li> </tr><tr><td>Method Overloading</td> - In Python, method overloading is achieved through default arguments, where a method can be defined with multiple parameters. The default values are used if some parameters are not passed while calling the method. <li>  <strong>Method Overriding</strong>  - Method overriding is a concept where a subclass implements a method already defined in its superclass.</li> <li>  <strong>Encapsulation</strong>  - Encapsulation is wrapping data and methods into a single unit. In Python, encapsulation is achieved through access modifiers, such as public, private, and protected. However, Python does not strictly enforce access modifiers, and the naming convention indicates the access level.</li> <li>  <strong>Data Abstraction</strong>  : A technique to hide the complexity of data and show only essential features to the user. It provides an interface to interact with the data. Data abstraction reduces complexity and makes code more modular, allowing developers to focus on the program&apos;s essential features.</li> </tr></ul> <p>To read the Oops concept in detail, visit the following resources.</p> <ul> <li> Python Oops Concepts - In Python, the object-oriented paradigm is to design the program using classes and objects. The object is related to real-word entities such as book, house, pencil, etc. and the class defines its properties and behaviours.</li> <li> <a href="/classes-objects-python">Python Objects and classes</a> - In Python, objects are instances of classes and classes are blueprints that defines structure and behaviour of data.</li> <li> <a href="/python-constructor">Python Constructor</a> - A constructor is a special method in a class that is used to initialize the object&apos;s attributes when the object is created.</li> <li> <a href="/python-inheritance">Python Inheritance</a> - Inheritance is a mechanism in which new class (subclass or child class) inherits the properties and behaviours of an existing class (super class or parent class).</li> <li> Python Polymorphism - Polymorphism allows objects of different classes to be treated as objects of a common superclass, enabling different classes to be used interchangeably through a common interface.</li> </ul> <h2>Python Advance Topics</h2> <p>Python includes many advances and useful concepts that help the programmer solve complex tasks. These concepts are given below.</p> <h3> Python Iterator </h3> <p>An iterator is simply an object that can be iterated upon. It returns one Object at a time. It can be implemented using the two special methods,  <strong>__iter__()</strong>  and __next__().</p> <p>Iterators in Python are objects that allow iteration over a collection of data. They process each collection element individually without loading the entire collection into memory.</p> <p>For example, let&apos;s create an iterator that returns the squares of numbers up to a given limit:</p> <pre> def __init__(self, limit): self.limit = limit self.n = 0 def __iter__(self): return self def __next__(self): if self.n <= 2 self.limit: square="self.n" ** self.n +="1" return else: raise stopiteration numbers="Squares(5)" for n in numbers: print(n) < pre> <p> <strong>Output:</strong> </p> <pre> 0 1 4 9 16 25 </pre> <p>In this example, we have created a class Squares that acts as an iterator by implementing the __iter__() and __next__() methods. The __iter__() method returns the Object itself, and the __next__() method returns the next square of the number until the limit is reached.</p> <p>To learn more about the iterators, visit our Python Iterators tutorial.</p> <h3> Python Generators </h3> <p>  <strong>Python generators</strong>  produce a sequence of values <strong>using a yield statement</strong> rather than a return since they are functions that return iterators. Generators terminate the function&apos;s execution while keeping the local state. It picks up right where it left off when it is restarted. Because we don&apos;t have to implement the iterator protocol thanks to this feature, writing iterators is made simpler. Here is an illustration of a straightforward generator function that produces squares of numbers:</p> <pre> # Generator Function def square_numbers(n): for i in range(n): yield i**2 # Create a generator object generator = square_numbers(5) # Print the values generated by the generator for num in generator: print(num) </pre> <p> <strong>Output:</strong> </p> <pre> 0 1 4 9 16 </pre> <h2>Python Modifiers</h2> <p>  <strong>Python Decorators</strong>  are functions used to modify the behaviour of another function. They allow adding functionality to an existing function without modifying its code directly. Decorators are defined using the <strong>@</strong> symbol followed by the name of the decorator function. They can be used for logging, timing, caching, etc.</p> <p>Here&apos;s an example of a decorator function that adds timing functionality to another function:</p> <pre> import time from math import factorial # Decorator to calculate time taken by # the function def time_it(func): def wrapper(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print(f&apos;{func.__name__} took {end-start:.5f} seconds to run.&apos;) return result return wrapper @time_it def my_function(n): time.sleep(2) print(f&apos;Factorial of {n} = {factorial(n)}&apos;) my_function(25) </pre> <p> <strong>Output:</strong> </p> <pre> </pre> <p>In the above example, the time_it decorator function takes another function as an argument and returns a wrapper function. The wrapper function calculates the time to execute the original function and prints it to the console. The @time_it decorator is used to apply the time_it function to the my_function function. When my_function is called, the decorator is executed, and the timing functionality is added.</p> <h2>Python MySQL</h2> <p>Python MySQL is a powerful relational database management system. We must set up the environment and establish a connection to use MySQL with Python. We can create a new database and tables using SQL commands in Python.</p> <ul> <li>  <strong>Environment Setup</strong>  : Installing and configuring MySQL Connector/Python to use Python with MySQL.</li> <li>  <strong>Database Connection</strong>  : Establishing a connection between Python and MySQL database using MySQL Connector/Python.</li> <li>  <strong>Creating New Database</strong>  : Creating a new database in MySQL using Python.</li> <li>  <strong>Creating Tables</strong>  : Creating tables in the MySQL database with Python using SQL commands.</li> <li>  <strong>Insert Operation</strong>  : Insert data into MySQL tables using Python and SQL commands.</li> <li>  <strong>Read Operation</strong>  : Reading data from MySQL tables using Python and SQL commands.</li> <li>  <strong>Update Operation</strong>  : Updating data in MySQL tables using Python and SQL commands.</li> <li>  <strong>Join Operation</strong>  : Joining two or more tables in MySQL using Python and SQL commands.</li> <li>  <strong>Performing Transactions</strong>  : Performing a group of SQL queries as a single unit of work in MySQL using Python.</li> </ul> <p>Other relative points include handling errors, creating indexes, and using stored procedures and functions in MySQL with Python.</p> <h2>Python MongoDB</h2> <p> Python MongoDB is a popular NoSQL database that stores data in JSON-like documents. It is schemaless and provides high scalability and flexibility for data storage. We can use MongoDB with Python using the PyMongo library, which provides a simple and intuitive interface for interacting with MongoDB.</p> <p>Here are some common tasks when working with MongoDB in Python:</p> <ol class="points"> <li>  <strong>Environment Setup</strong>  : Install and configure MongoDB and PyMongo library on your system.</li> <li>  <strong>Database Connection</strong>  : Connect to a MongoDB server using the MongoClient class from PyMongo.</li> <li>  <strong>Creating a new database</strong>  : Use the MongoClient Object to create a new database.</li> <li>  <strong>Creating collections</strong>  : Create collections within a database to store documents.</li> <li>  <strong>Inserting documents</strong>  : Insert new documents into a collection using the insert_one() or insert_many() methods.</li> <li>  <strong>Querying documents</strong>  : Retrieve documents from a collection using various query methods like find_one(), find(), etc.</li> <li>  <strong>Updating documents</strong>  : Modify existing documents in a collection using update_one() or update_many() methods.</li> <li>  <strong>Deleting documents</strong>  : Remove documents from a collection using the delete_one() or delete_many() methods.</li> <li>  <strong>Aggregation</strong>  : Perform aggregation operations like grouping, counting, etc., using the aggregation pipeline framework.</li> <tr><td>Indexing:</td> Improve query performance by creating indexes on fields in collections. </tr></ol> <p>There are many more advanced topics in MongoDB, such as data sharding, replication, and more, but these tasks cover the basics of working with MongoDB in Python.</p> <h2> Python SQLite </h2> <p>Relational databases are built and maintained using Python SQLite, a compact, serverless, self-contained database engine. Its mobility and simplicity make it a popular option for local or small-scale applications. Python has a built-in module for connecting to SQLite databases called SQLite3, enabling developers to work with SQLite databases without difficulties.</p> <p>Various API methods are available through the SQLite3 library that may be used to run SQL queries, insert , select , update , and remove data, as well as get data from tables. Additionally, it allows transactions, allowing programmers to undo changes in case of a problem. Python SQLite is a fantastic option for creating programs that need an embedded database system, including desktop, mobile, and modest-sized web programs. SQLite has become popular among developers for lightweight apps with database functionality thanks to its ease of use, portability, and smooth connection with Python.</p> <h2> Python CGI </h2> <p>  <strong>Python CGI</strong>  is a technology for running scripts through web servers to produce dynamic online content. It offers a communication channel and a dynamic content generation interface for external CGI scripts and the web server. Python CGI scripts may create HTML web pages, handle form input, and communicate with databases. Python CGI enables the server to carry out Python scripts and provide the results to the client, offering a quick and effective approach to creating dynamic online applications.</p> <p>Python CGI scripts may be used for many things, including creating dynamic web pages, processing forms, and interacting with databases. Since Python, a potent and popular programming language, can be utilized to create scripts, it enables a more customized and flexible approach to web creation. Scalable, safe, and maintainable online applications may be created with Python CGI. Python CGI is a handy tool for web developers building dynamic and interactive online applications.</p> <h2> Asynchronous Programming in Python </h2> <p> <strong>Asynchronous programming</strong> is a paradigm for computer programming that enables independent and concurrent operation of activities. It is frequently used in applications like web servers, database software, and network programming, where several tasks or requests must be handled concurrently.</p> <p>Python has asyncio, Twisted, and Tornado among its libraries and frameworks for asynchronous programming. Asyncio, one of these, offers a simple interface for asynchronous programming and is the official asynchronous programming library in Python.</p> <p>Coroutines are functions that may be halted and restarted at specific locations in the code and are utilized by asyncio. This enables numerous coroutines to operate simultaneously without interfering with one another. For constructing and maintaining coroutines, the library offers several classes and methods, including <strong>asyncio.gather(),</strong> <strong>asyncio.wait(),</strong> and <strong>asyncio.create_task().</strong> </p> <p>Event loops, which are in charge of planning and operating coroutines, are another feature of asyncio. By cycling between coroutines in a non-blocking way, the event loop controls the execution of coroutines and ensures that no coroutine blocks another. Additionally, it supports timers and scheduling callbacks, which may be helpful when activities must be completed at specified times or intervals.</p> <h2> Python Concurrency </h2> <p>The term &apos; <strong>concurrency</strong> &apos; describes a program&apos;s capacity to carry out several tasks at once, enhancing the program&apos;s efficiency. Python offers several modules and concurrency-related methods, including asynchronous programming, multiprocessing, and multithreading. While multiprocessing involves running many processes simultaneously on a system, multithreading involves running numerous threads concurrently inside a single process.</p> <p>The <strong>threading module</strong> in Python enables programmers to build multithreading. It offers classes and operations for establishing and controlling threads. Conversely, the multiprocessing module allows developers to design and control processes. Python&apos;s asyncio module provides asynchronous programming support, allowing developers to write non-blocking code that can handle multiple tasks concurrently. Using these techniques, developers can write highperformance, scalable programs that can handle multiple tasks concurrently.</p> <p>Python&apos;s threading module enables the concurrent execution of several threads within a single process, which is helpful for I/O-bound activities.</p> <p>For CPU-intensive operations like image processing or data analysis, multiprocessing modules make it possible to execute numerous processes concurrently across multiple CPU cores.</p> <p>The asyncio module supports asynchronous I/O and permits the creation of single-threaded concurrent code using coroutines for high-concurrency network applications.</p> <p>With libraries like Dask , <a href="/pyspark-tutorial">PySpark</a> , and MPI, Python may also be used for parallel computing. These libraries allow workloads to be distributed across numerous nodes or clusters for better performance.</p> <h2> Web Scrapping using Python </h2> <p>The process of web scraping is used to retrieve data from websites automatically. Various tools and libraries extract data from HTML and other online formats. Python is among the most widely used programming languages for web scraping because of its ease of use, adaptability, and variety of libraries.</p> <p>We must take a few steps to accomplish web scraping using Python. We must first decide which website to scrape and what information to gather. Then, we can submit a request to the website and receive the HTML content using Python&apos;s requests package. Once we have the HTML text, we can extract the needed data using a variety of parsing packages, like <strong>Beautiful Soup and lxml</strong> .</p> <p>We can employ several strategies, like slowing requests, employing user agents, and using proxies, to prevent overburdening the website&apos;s server. It is also crucial to abide by the terms of service for the website and respect its robots.txt file.</p> <p>Data mining, lead creation, pricing tracking, and many more uses are possible for web scraping. However, as unauthorized web scraping may be against the law and unethical, it is essential to utilize it professionally and ethically.</p> <h2>Natural Language Processing (NLP) using Python</h2> <p>A branch of artificial intelligence (AI) called &apos;natural language processing&apos; (NLP) studies how computers and human language interact. Thanks to NLP, computers can now understand, interpret, and produce human language. Due to its simplicity, versatility, and strong libraries like NLTK (Natural Language Toolkit) and spaCy, Python is a well-known programming language for NLP.</p> <p> <strong>For NLP tasks, including tokenization, stemming, lemmatization, part-of-speech tagging, named entity identification, sentiment analysis, and others, NLTK provides a complete library.</strong> It has a variety of corpora (big, organized text collections) for developing and evaluating NLP models. Another well-liked library for NLP tasks is spaCy , which offers quick and effective processing of enormous amounts of text. It enables simple modification and expansion and comes with pre-trained models for various NLP workloads.</p> <p>NLP may be used in Python for various practical purposes, including chatbots, sentiment analysis, text categorization, machine translation, and more. NLP is used, for instance, by chatbots to comprehend and reply to user inquiries in a natural language style. Sentiment analysis, which may be helpful for brand monitoring, customer feedback analysis, and other purposes, employs NLP to categorize text sentiment (positive, negative, or neutral). Text documents are categorized using natural language processing (NLP) into pre-established categories for spam detection, news categorization, and other purposes.</p> <p>Python is a strong and useful tool when analyzing and processing human language. Developers may carry out various NLP activities and create useful apps that can communicate with consumers in natural language with libraries like NLTK and spaCy.</p> <h2>Conclusion:</h2> <p>In this tutorial, we&apos;ve looked at some of Python&apos;s most important features and ideas, including variables, data types, loops, functions, modules, and more. More complex subjects, including web scraping, natural language processing, parallelism, and database connection, have also been discussed. You will have a strong basis to continue learning about Python and its applications using the information you have learned from this lesson.</p> <p>Remember that practicing and developing code is the best method to learn Python. You may find many resources at javaTpoint to support your further learning, including documentation, tutorials, online groups, and more. You can master Python and use it to create wonderful things if you work hard and persist.</p> <h2>Prerequisite</h2> <p>Before learning Python, you must have the basic knowledge of programming concepts.</p> <h2>Audience</h2> <p>Our Python tutorial is designed to help beginners and professionals.</p> <h2>Problem</h2> <p>We assure that you will not find any problem in this Python tutorial. But if there is any mistake, please post the problem in contact form.</p> <hr></=></pre></5:>

    W powyższym przykładowym kodzie zademonstrowaliśmy użycie dwóch typów pętli w Pythonie – pętli For i pętli While.

    Pętla For służy do iteracji po sekwencji elementów, takich jak lista, krotka lub ciąg znaków. W przykładzie zdefiniowaliśmy listę owoców i użyliśmy pętli for do wydrukowania każdego owocu, ale można jej również użyć do wydrukowania zakresu liczb.

    Pętla While powtarza blok kodu, jeśli określony warunek jest spełniony. W tym przykładzie zainicjowaliśmy zmienną i na 1 i użyliśmy pętli while do wydrukowania wartości i, aż stanie się ona większa lub równa 6. Instrukcja i += 1 służy do zwiększania wartości i w każdej iteracji .

    Dowiemy się o nich szczegółowo w tutorialu.

    Struktury danych w Pythonie

    Python oferuje cztery wbudowane struktury danych: listy , krotki , zestawy , I słowniki które pozwalają nam efektywnie przechowywać dane. Poniżej znajdują się powszechnie używane struktury danych w Pythonie wraz z przykładowym kodem:

    1. Listy

    • Listy są zamówione zbiory elementów danych różnych typów danych.
    • Listy są zmienny co oznacza, że ​​listę można modyfikować w dowolnym momencie.
    • Elementy mogą być dostęp za pomocą indeksów .
    • Definiuje się je za pomocą nawiasu kwadratowego ' [] '.

    Przykład:

     # Create a list fruits = [&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;] print(&apos;fuirts[1] =&apos;, fruits[1]) # Modify list fruits.append(&apos;orange&apos;) print(&apos;fruits =&apos;, fruits) num_list = [1, 2, 3, 4, 5] # Calculate sum sum_nums = sum(num_list) print(&apos;sum_nums =&apos;, sum_nums) 

    Wyjście:

     fuirts[1] = banana fruits = [&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;orange&apos;] sum_nums = 15 

    2. Krotki

    • Krotki też są zamówione zbiory elementów danych różnych typów, podobnie jak w przypadku list.
    • Elementy mogą być dostęp za pomocą indeksów .
    • Krotki są niezmienny co oznacza, że ​​raz utworzonych krotek nie można modyfikować.
    • Definiuje się je za pomocą nawiasu otwartego ' () '.

    Przykład:

     # Create a tuple point = (3, 4) x, y = point print(&apos;(x, y) =&apos;, x, y) # Create another tuple tuple_ = (&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;orange&apos;) print(&apos;Tuple =&apos;, tuple_) 

    Wyjście:

     (x, y) = 3 4 Tuple = (&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;orange&apos;) 

    3 zestawy

    • Zestawy są niezamówiony zbiory niezmiennych elementów danych różnych typów.
    • Zestawy są zmienny .
    • Dostęp do elementów nie jest możliwy za pomocą indeksów.
    • Zestawy nie zawierają zduplikowanych elementów .
    • Definiuje się je za pomocą nawiasów klamrowych ' {} '

    Przykład:

     # Create a set set1 = {1, 2, 2, 1, 3, 4} print(&apos;set1 =&apos;, set1) # Create another set set2 = {&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;apple&apos;, &apos;orange&apos;} print(&apos;set2 =&apos;, set2) 

    Wyjście:

     set1 = {1, 2, 3, 4} set2 = {&apos;apple&apos;, &apos;cherry&apos;, &apos;orange&apos;, &apos;banana&apos;} 

    4. Słowniki

    • Słownik jest pary klucz-wartość które umożliwiają powiązanie wartości z unikalnymi kluczami.
    • Definiuje się je za pomocą nawiasów klamrowych ' {} ' z parami klucz-wartość oddzielone dwukropkami ':' .
    • Słowniki są zmienny .
    • Dostęp do elementów można uzyskać za pomocą klawiszy.

    Przykład:

     # Create a dictionary person = {&apos;name&apos;: &apos;Umesh&apos;, &apos;age&apos;: 25, &apos;city&apos;: &apos;Noida&apos;} print(&apos;person =&apos;, person) print(person[&apos;name&apos;]) # Modify Dictionary person[&apos;age&apos;] = 27 print(&apos;person =&apos;, person) 

    Wyjście:

     person = {&apos;name&apos;: &apos;Umesh&apos;, &apos;age&apos;: 25, &apos;city&apos;: &apos;Noida&apos;} Umesh person = {&apos;name&apos;: &apos;Umesh&apos;, &apos;age&apos;: 27, &apos;city&apos;: &apos;Noida&apos;} 

    To tylko kilka przykładów wbudowanych struktur danych w Pythonie. Każda struktura danych ma swoją własną charakterystykę i przypadki użycia.

    Programowanie funkcjonalne w Pythonie

    W tej części samouczka Pythona zdefiniowano kilka ważnych narzędzi związanych z programowaniem funkcjonalnym, takich jak lambda i funkcje rekurencyjne. Funkcje te są bardzo wydajne w realizacji złożonych zadań. Definiujemy kilka ważnych funkcji, takich jak redukcja, mapowanie i filtrowanie. Python udostępnia moduł functools, który zawiera różne narzędzia programowania funkcjonalnego. Odwiedź poniższy samouczek, aby dowiedzieć się więcej o programowaniu funkcjonalnym.

    W najnowszych wersjach Pythona wprowadzono funkcje, które sprawiają, że programowanie funkcjonalne jest bardziej zwięzłe i wyraziste. Na przykład „operator morsa”:= umożliwia wbudowane przypisywanie zmiennych w wyrażeniach, co może być przydatne podczas pracy z zagnieżdżonymi wywołaniami funkcji lub wyrażeniami listowymi.

    Funkcja Pythona

    1. Funkcja Lambdy - Funkcja lambda jest mała, funkcja anonimowa która może przyjmować dowolną liczbę argumentów, ale może mieć tylko jedno wyrażenie. Funkcje lambda są często używane w programowaniu funkcjonalnym do tworzenia funkcji „w locie” bez definiowania nazwanej funkcji.
    2. Funkcja rekurencyjna - Funkcja rekurencyjna to funkcja, która wywołuje samą siebie w celu rozwiązania problemu. Funkcje rekurencyjne są często używane w programowaniu funkcjonalnym do wykonywania złożonych obliczeń lub przeglądania złożonych struktur danych.
    3. Funkcja mapy - Funkcja map() stosuje daną funkcję do każdego elementu iterowalnego obiektu i zwraca nowy obiekt iterowalny z wynikami. Iterowalne wejście może być listą, krotką lub inną.
    4. Funkcja filtra - Funkcja filter() zwraca iterator z obiektu iterowalnego, dla którego funkcja przekazana jako pierwszy argument zwraca True. Filtruje elementy z iterowalności, które nie spełniają danego warunku.
    5. Zmniejsz funkcję - Funkcja redukcji() stosuje funkcję dwóch argumentów kumulatywnie do elementów iterowalnych od lewej do prawej, aby zredukować ją do pojedynczej wartości.
    6. Moduł functools - Moduł functools w Pythonie udostępnia funkcje wyższego rzędu, które działają na innych funkcjach, takie jak częściowe() i redukcja().
    7. Funkcja curry - Funkcja curry to funkcja, która przyjmuje wiele argumentów i zwraca sekwencję funkcji, z których każda przyjmuje pojedynczy argument.
    8. Funkcja zapamiętywania - Zapamiętywanie to technika stosowana w programowaniu funkcjonalnym do buforowania wyników kosztownych wywołań funkcji i zwracania buforowanego wyniku, gdy ponownie pojawią się te same dane wejściowe.
    9. Funkcja gwintowania - Threading to technika stosowana w programowaniu funkcjonalnym do jednoczesnego wykonywania wielu zadań, aby kod był wydajniejszy i szybszy.

    Moduły Pythona

    Moduły Pythona to pliki programów zawierające kod lub funkcje Pythona. Python ma dwa typy modułów – moduły zdefiniowane przez użytkownika i moduły wbudowane. Moduł zdefiniowany przez użytkownika lub nasz kod Pythona zapisany z rozszerzeniem .py jest traktowany jako moduł zdefiniowany przez użytkownika.

    Moduły wbudowane to predefiniowane moduły języka Python. Aby skorzystać z funkcjonalności modułów musimy je zaimportować do naszego aktualnie działającego programu.

    silnia Java

    Moduły Pythona są niezbędne dla ekosystemu języka, ponieważ oferują kod wielokrotnego użytku i funkcjonalność, którą można zaimportować do dowolnego programu w języku Python. Oto kilka przykładów kilku modułów Pythona wraz z krótkim opisem każdego z nich:

    Matematyka : Daje użytkownikom dostęp do stałych matematycznych oraz funkcji pi i trygonometrycznych.

    Data i godzina : Zapewnia klasy umożliwiające prostsze manipulowanie datami, godzinami i okresami.

    TY : Umożliwia interakcję z podstawowym systemem operacyjnym, w tym administrowanie procesami i działaniami systemu plików.

    losowy : Funkcja losowa oferuje narzędzia do generowania losowych liczb całkowitych i wybierania losowych pozycji z listy.

    JSON : JSON to struktura danych, którą można kodować i dekodować, i jest często używana w internetowych interfejsach API i wymianie danych. Moduł ten umożliwia obsługę JSON.
    Odnośnie : Obsługuje wyrażenia regularne, potężne narzędzie do wyszukiwania i manipulowania tekstem.

    Kolekcje : Zapewnia alternatywne struktury danych, takie jak posortowane słowniki, słowniki domyślne i nazwane krotki.

    NumPy : NumPy to podstawowy zestaw narzędzi do obliczeń naukowych, który obsługuje operacje numeryczne na tablicach i macierzach.

    Pandy : Zapewnia struktury i operacje danych wysokiego poziomu do obsługi szeregów czasowych i innych ustrukturyzowanych typów danych.

    Upraszanie : Oferuje prosty interfejs użytkownika dla internetowych interfejsów API i wykonuje żądania HTTP.

    We/wy pliku Pythona

    Pliki służą do przechowywania danych na dysku komputera. W tym samouczku wyjaśnimy wbudowany obiekt plikowy Pythona. Możemy otworzyć plik za pomocą skryptu Python i wykonać różne operacje, takie jak pisanie, czytanie i dołączanie. Istnieją różne sposoby otwierania pliku. Wyjaśniono to na odpowiednim przykładzie. Nauczymy się także wykonywać operacje odczytu/zapisu na plikach binarnych.

    System wejścia/wyjścia (I/O) plików w Pythonie oferuje programy do komunikacji z plikami zapisanymi na płycie. Wbudowane metody Pythona dla obiektu pliku pozwalają nam wykonywać takie akcje, jak czytanie, zapisywanie i dodawanie danych do plików.

    The otwarty() metoda w Pythonie tworzy obiekt pliku podczas pracy z plikami. Nazwa pliku do otwarcia i tryb, w jakim plik ma zostać otwarty, to dwa parametry wymagane przez tę funkcję. Trybu można używać w zależności od pracy, jaką należy wykonać z plikiem, np. „ R ' do czytania, ' w „do pisania” lub „ A ' do mocowania.

    Po pomyślnym utworzeniu obiektu, w zależności od naszej pracy, można zastosować różne metody. Jeśli chcemy pisać do pliku, możemy skorzystać z funkcji write(), a jeśli chcemy czytać i zapisywać jedno i drugie, możemy skorzystać z funkcji append() i w przypadkach, gdy chcemy tylko odczytać zawartość pliku możemy użyć funkcji read(). Z plikami binarnymi zawierającymi dane w formacie binarnym, a nie tekstowym, można także pracować przy użyciu języka Python. Pliki binarne są zapisywane w sposób, którego ludzie nie mogą bezpośrednio zrozumieć. The rb I wb tryby mogą czytać i zapisywać dane binarne w plikach binarnych.

    Wyjątki Pythona

    Wyjątek można zdefiniować jako nietypowy stan w programie powodujący przerwę w działaniu programu.

    Ilekroć wystąpi wyjątek, program zatrzymuje wykonywanie, a zatem drugi kod nie jest wykonywany. Dlatego wyjątkiem są błędy wykonania, które nie są w stanie obsłużyć skryptu Pythona. Wyjątkiem jest obiekt Pythona, który reprezentuje błąd.

    Wyjątki Pythona są ważnym aspektem obsługi błędów w programowaniu w języku Python. Gdy program napotka nieoczekiwaną sytuację lub błąd, może zgłosić wyjątek, który może przerwać normalny przepływ programu.

    W Pythonie wyjątki są reprezentowane jako obiekty zawierające informacje o błędzie, w tym jego typ i treść. Najpopularniejszym typem wyjątku w Pythonie jest klasa wyjątku, klasa bazowa dla wszystkich innych wbudowanych wyjątków.

    Do obsługi wyjątków w Pythonie używamy metody próbować I z wyjątkiem sprawozdania. The próbować instrukcja służy do załączenia kodu, który może zgłosić wyjątek, podczas gdy z wyjątkiem instrukcja służy do zdefiniowania bloku kodu, który powinien zostać wykonany w przypadku wystąpienia wyjątku.

    Rozważmy na przykład następujący kod:

     try: x = int ( input (&apos;Enter a number: &apos;)) y = 10 / x print (&apos;Result:&apos;, y) except ZeroDivisionError: print (&apos;Error: Division by zero&apos;) except ValueError: print (&apos;Error: Invalid input&apos;) 

    Wyjście:

     Enter a number: 0 Error: Division by zero 

    W tym kodzie używamy instrukcji try, aby podjąć próbę wykonania operacji dzielenia. Jeśli którakolwiek z tych operacji zgłosi wyjątek, wykonywany jest pasujący blok z wyjątkiem.

    Python udostępnia także wiele wbudowanych wyjątków, które można wywołać w podobnych sytuacjach. Niektóre typowe wbudowane wyjątki obejmują Błąd indeksu, błąd typu , I NazwaBłąd . Możemy także zdefiniować nasze niestandardowe wyjątki, tworząc nową klasę, która dziedziczy po klasie wyjątkowych.

    Plik CSV w Pythonie

    CSV oznacza „wartości oddzielone przecinkami”, które definiuje się jako prosty format pliku wykorzystujący specyficzną strukturę do uporządkowania danych tabelarycznych. Przechowuje dane tabelaryczne, takie jak arkusze kalkulacyjne lub bazy danych, w postaci zwykłego tekstu i ma wspólny format wymiany danych. Plik CSV otwiera się w arkuszu programu Excel, a dane wierszy i kolumn definiują standardowy format.

    Do odczytania pliku CSV możemy użyć funkcji CSV.reader. Ta funkcja zwraca obiekt czytnika, którego możemy użyć do powtórzenia wierszy w pliku CSV. Każdy wiersz jest zwracany jako lista wartości, gdzie każda wartość odpowiada kolumnie w pliku CSV.

    Rozważmy na przykład następujący kod:

     import csv with open(&apos;data.csv&apos;, &apos;r&apos;) as file: reader = csv.reader(file) for row in reader: print(row) 

    Tutaj otwieramy plik data.csv w trybie odczytu i tworzymy plik czytnik csv obiekt za pomocą czytnik csv() funkcjonować. Następnie iterujemy po wierszach pliku CSV za pomocą pętli for i wypisujemy każdy wiersz na konsoli.

    Możemy skorzystać z CSV.writer() funkcja zapisu danych do pliku CSV. Zwraca obiekt zapisujący, którego możemy użyć do zapisania wierszy do pliku CSV. Możemy pisać wiersze, wywołując metodę pisarz () metoda na obiekcie piszącym.

    Rozważmy na przykład następujący kod:

     import csv data = [ [&apos;Name&apos;, &apos;Age&apos;, &apos;Country&apos;], [&apos;Alice&apos;, &apos;25&apos;, &apos;USA&apos;], [&apos;Bob&apos;, &apos;30&apos;, &apos;Canada&apos;], [&apos;Charlie&apos;, &apos;35&apos;, &apos;Australia&apos;] ] with open(&apos;data.csv&apos;, &apos;w&apos;) as file: writer = csv.writer(file) for row in data: writer.writerow(row) 

    W tym programie tworzymy listę list zwaną danymi, gdzie każda lista wewnętrzna reprezentuje wiersz danych. Następnie otwieramy plik data.csv w trybie zapisu i tworzymy plik CSV.writer obiekt za pomocą funkcji CSV.writer. Następnie iterujemy po wierszach danych za pomocą pętli for i zapisujemy każdy wiersz do pliku CSV, korzystając z metody Writer.

    Wysyłanie poczty w Pythonie

    Pocztę możemy wysłać lub odczytać za pomocą skryptu Python. Standardowe moduły biblioteczne Pythona są przydatne do obsługi różnych protokołów, takich jak PoP3 i IMAP. Python udostępnia smtplib moduł do wysyłania wiadomości e-mail przy użyciu protokołu SMTP (Simple Mail Transfer Protocol). Dowiemy się, jak wysyłać pocztę za pomocą popularnej usługi e-mail SMTP ze skryptu w języku Python.

    Magiczne metody Pythona

    Magiczna metoda Pythona to specjalna metoda, która dodaje „magię” do klasy. Zaczyna się i kończy podwójnym podkreśleniem, na przykład: _gorący_ Lub _str_ .

    Wbudowane klasy definiują wiele magicznych metod. The Ty() funkcji można użyć do sprawdzenia liczby magicznych metod odziedziczonych przez klasę. W nazwie metody znajdują się dwa przedrostki i podkreślenia sufiksu.

    • Magiczne metody Pythona są również znane jako metody dundera , skrót od metod „podwójnego podkreślenia”, ponieważ ich nazwy zaczynają się i kończą podwójnym podkreśleniem.
    • Metody magiczne są automatycznie wywoływane przez interpreter Pythona w określonych sytuacjach, np. podczas tworzenia obiektu, porównywania go z innym obiektem lub drukowania.
    • Metod magicznych można używać do dostosowywania zachowania klas, na przykład definiowania sposobu porównywania obiektów, konwertowania ich na ciągi znaków lub uzyskiwania do nich dostępu w formie kontenerów.
    • Niektóre powszechnie stosowane metody magiczne obejmują ciepło do inicjalizacji obiektu, str do konwersji obiektu na ciąg znaków, równ do porównywania dwóch obiektów pod kątem równości i na czas I setitem do uzyskiwania dostępu do elementów w obiekcie kontenera.

    Na przykład ul magiczna metoda może zdefiniować, w jaki sposób obiekt powinien być reprezentowany jako ciąg znaków. Oto przykład

     class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f&apos;{self.name} ({self.age})&apos; person = Person(&apos;Vikas&apos;, 22) print(person) 

    Wyjście:

     Vikas (22) 

    W tym przykładzie zdefiniowano metodę str tak, aby zwracała sformatowaną reprezentację ciągu obiektu Person z imieniem i wiekiem osoby.

    Inną powszechnie stosowaną metodą magiczną jest równ , który definiuje, w jaki sposób obiekty powinny być porównywane pod kątem równości. Oto przykład:

     class Point: def __init__(self, x, y): self.x = x self.y = y def __eq__(self, other): return self.x == other.x and self.y == other.y point1 = Point(2, 3) point2 = Point(3, 4) point3 = Point(2, 3) print(point1 == point2) print(point1 == point3) 

    Wyjście:

     False True 

    W tym przykładzie równ Metoda ma zwracać wartość True, jeśli dwa obiekty Point mają te same współrzędne x i y, a w przeciwnym razie False.

    Python Ups, koncepcje

    Wszystko w Pythonie jest traktowane jako obiekt, włączając w to wartości całkowite, zmiennoprzecinkowe, funkcje, klasy i nic. Poza tym Python obsługuje wszystkie zorientowane koncepcje. Poniżej znajduje się krótkie wprowadzenie do koncepcji Ups w Pythonie.

    • Klasy i obiekty - Klasy Pythona są planami Obiektu. Obiekt to zbiór danych i metod działających na danych.
    • Dziedzictwo - Dziedziczenie to technika, w której jedna klasa dziedziczy właściwości innych klas.
    • Konstruktor - Python udostępnia specjalną metodę __init__(), znaną jako konstruktor. Ta metoda jest wywoływana automatycznie podczas tworzenia instancji obiektu.
    • Członek danych- Zmienna przechowująca dane powiązane z klasą i jej obiektami.
    • Wielopostaciowość - Polimorfizm to koncepcja, w której obiekt może przybierać wiele form. W Pythonie polimorfizm można osiągnąć poprzez przeciążanie i zastępowanie metod.
    • Przeciążenie metody- W Pythonie przeciążanie metod osiąga się za pomocą domyślnych argumentów, gdzie metodę można zdefiniować za pomocą wielu parametrów. Wartości domyślne są używane, jeśli podczas wywoływania metody nie zostaną przekazane niektóre parametry.
    • Zastępowanie metody - Nadpisywanie metod to koncepcja, w której podklasa implementuje metodę już zdefiniowaną w swojej nadklasie.
    • Kapsułkowanie - Hermetyzacja polega na pakowaniu danych i metod w jedną jednostkę. W Pythonie enkapsulację osiąga się za pomocą modyfikatorów dostępu, takich jak publiczny, prywatny i chroniony. Jednak Python nie wymusza ściśle modyfikatorów dostępu, a konwencja nazewnictwa wskazuje poziom dostępu.
    • Abstrakcja danych : technika ukrywania złożoności danych i pokazywania użytkownikowi tylko niezbędnych funkcji. Zapewnia interfejs do interakcji z danymi. Abstrakcja danych zmniejsza złożoność i czyni kod bardziej modułowym, umożliwiając programistom skupienie się na podstawowych funkcjach programu.

    Aby szczegółowo zapoznać się z koncepcją Ups, odwiedź następujące zasoby.

    • Python Oops Concepts — w Pythonie paradygmat zorientowany obiektowo polega na projektowaniu programu przy użyciu klas i obiektów. Obiekt jest powiązany z bytami z prawdziwego słowa, takimi jak książka, dom, ołówek itp., a klasa definiuje jego właściwości i zachowania.
    • Obiekty i klasy w Pythonie - W Pythonie obiekty są instancjami klas, a klasy są projektami definiującymi strukturę i zachowanie danych.
    • Konstruktor Pythona - Konstruktor to specjalna metoda w klasie używana do inicjowania atrybutów obiektu podczas jego tworzenia.
    • Dziedziczenie w Pythonie - Dziedziczenie to mechanizm, w którym nowa klasa (podklasa lub klasa podrzędna) dziedziczy właściwości i zachowania istniejącej klasy (nadklasa lub klasa nadrzędna).
    • Polimorfizm Pythona — polimorfizm umożliwia traktowanie obiektów różnych klas jako obiektów wspólnej nadklasy, umożliwiając wymienne używanie różnych klas poprzez wspólny interfejs.

    Zaawansowane tematy dotyczące Pythona

    Python zawiera wiele udoskonaleń i przydatnych koncepcji, które pomagają programiście rozwiązywać złożone zadania. Pojęcia te podano poniżej.

    Iterator Pythona

    Iterator to po prostu obiekt, po którym można iterować. Zwraca jeden obiekt na raz. Można to wdrożyć za pomocą dwóch specjalnych metod, __iter__() i dalej__().

    Iteratory w Pythonie to obiekty umożliwiające iterację po zbiorze danych. Przetwarzają każdy element kolekcji indywidualnie, bez ładowania całej kolekcji do pamięci.

    Na przykład utwórzmy iterator, który zwraca kwadraty liczb do zadanego limitu:

     def __init__(self, limit): self.limit = limit self.n = 0 def __iter__(self): return self def __next__(self): if self.n <= 2 self.limit: square="self.n" ** self.n +="1" return else: raise stopiteration numbers="Squares(5)" for n in numbers: print(n) < pre> <p> <strong>Output:</strong> </p> <pre> 0 1 4 9 16 25 </pre> <p>In this example, we have created a class Squares that acts as an iterator by implementing the __iter__() and __next__() methods. The __iter__() method returns the Object itself, and the __next__() method returns the next square of the number until the limit is reached.</p> <p>To learn more about the iterators, visit our Python Iterators tutorial.</p> <h3> Python Generators </h3> <p>  <strong>Python generators</strong>  produce a sequence of values <strong>using a yield statement</strong> rather than a return since they are functions that return iterators. Generators terminate the function&apos;s execution while keeping the local state. It picks up right where it left off when it is restarted. Because we don&apos;t have to implement the iterator protocol thanks to this feature, writing iterators is made simpler. Here is an illustration of a straightforward generator function that produces squares of numbers:</p> <pre> # Generator Function def square_numbers(n): for i in range(n): yield i**2 # Create a generator object generator = square_numbers(5) # Print the values generated by the generator for num in generator: print(num) </pre> <p> <strong>Output:</strong> </p> <pre> 0 1 4 9 16 </pre> <h2>Python Modifiers</h2> <p>  <strong>Python Decorators</strong>  are functions used to modify the behaviour of another function. They allow adding functionality to an existing function without modifying its code directly. Decorators are defined using the <strong>@</strong> symbol followed by the name of the decorator function. They can be used for logging, timing, caching, etc.</p> <p>Here&apos;s an example of a decorator function that adds timing functionality to another function:</p> <pre> import time from math import factorial # Decorator to calculate time taken by # the function def time_it(func): def wrapper(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print(f&apos;{func.__name__} took {end-start:.5f} seconds to run.&apos;) return result return wrapper @time_it def my_function(n): time.sleep(2) print(f&apos;Factorial of {n} = {factorial(n)}&apos;) my_function(25) </pre> <p> <strong>Output:</strong> </p> <pre> </pre> <p>In the above example, the time_it decorator function takes another function as an argument and returns a wrapper function. The wrapper function calculates the time to execute the original function and prints it to the console. The @time_it decorator is used to apply the time_it function to the my_function function. When my_function is called, the decorator is executed, and the timing functionality is added.</p> <h2>Python MySQL</h2> <p>Python MySQL is a powerful relational database management system. We must set up the environment and establish a connection to use MySQL with Python. We can create a new database and tables using SQL commands in Python.</p> <ul> <li>  <strong>Environment Setup</strong>  : Installing and configuring MySQL Connector/Python to use Python with MySQL.</li> <li>  <strong>Database Connection</strong>  : Establishing a connection between Python and MySQL database using MySQL Connector/Python.</li> <li>  <strong>Creating New Database</strong>  : Creating a new database in MySQL using Python.</li> <li>  <strong>Creating Tables</strong>  : Creating tables in the MySQL database with Python using SQL commands.</li> <li>  <strong>Insert Operation</strong>  : Insert data into MySQL tables using Python and SQL commands.</li> <li>  <strong>Read Operation</strong>  : Reading data from MySQL tables using Python and SQL commands.</li> <li>  <strong>Update Operation</strong>  : Updating data in MySQL tables using Python and SQL commands.</li> <li>  <strong>Join Operation</strong>  : Joining two or more tables in MySQL using Python and SQL commands.</li> <li>  <strong>Performing Transactions</strong>  : Performing a group of SQL queries as a single unit of work in MySQL using Python.</li> </ul> <p>Other relative points include handling errors, creating indexes, and using stored procedures and functions in MySQL with Python.</p> <h2>Python MongoDB</h2> <p> Python MongoDB is a popular NoSQL database that stores data in JSON-like documents. It is schemaless and provides high scalability and flexibility for data storage. We can use MongoDB with Python using the PyMongo library, which provides a simple and intuitive interface for interacting with MongoDB.</p> <p>Here are some common tasks when working with MongoDB in Python:</p> <ol class="points"> <li>  <strong>Environment Setup</strong>  : Install and configure MongoDB and PyMongo library on your system.</li> <li>  <strong>Database Connection</strong>  : Connect to a MongoDB server using the MongoClient class from PyMongo.</li> <li>  <strong>Creating a new database</strong>  : Use the MongoClient Object to create a new database.</li> <li>  <strong>Creating collections</strong>  : Create collections within a database to store documents.</li> <li>  <strong>Inserting documents</strong>  : Insert new documents into a collection using the insert_one() or insert_many() methods.</li> <li>  <strong>Querying documents</strong>  : Retrieve documents from a collection using various query methods like find_one(), find(), etc.</li> <li>  <strong>Updating documents</strong>  : Modify existing documents in a collection using update_one() or update_many() methods.</li> <li>  <strong>Deleting documents</strong>  : Remove documents from a collection using the delete_one() or delete_many() methods.</li> <li>  <strong>Aggregation</strong>  : Perform aggregation operations like grouping, counting, etc., using the aggregation pipeline framework.</li> <tr><td>Indexing:</td> Improve query performance by creating indexes on fields in collections. </tr></ol> <p>There are many more advanced topics in MongoDB, such as data sharding, replication, and more, but these tasks cover the basics of working with MongoDB in Python.</p> <h2> Python SQLite </h2> <p>Relational databases are built and maintained using Python SQLite, a compact, serverless, self-contained database engine. Its mobility and simplicity make it a popular option for local or small-scale applications. Python has a built-in module for connecting to SQLite databases called SQLite3, enabling developers to work with SQLite databases without difficulties.</p> <p>Various API methods are available through the SQLite3 library that may be used to run SQL queries, insert , select , update , and remove data, as well as get data from tables. Additionally, it allows transactions, allowing programmers to undo changes in case of a problem. Python SQLite is a fantastic option for creating programs that need an embedded database system, including desktop, mobile, and modest-sized web programs. SQLite has become popular among developers for lightweight apps with database functionality thanks to its ease of use, portability, and smooth connection with Python.</p> <h2> Python CGI </h2> <p>  <strong>Python CGI</strong>  is a technology for running scripts through web servers to produce dynamic online content. It offers a communication channel and a dynamic content generation interface for external CGI scripts and the web server. Python CGI scripts may create HTML web pages, handle form input, and communicate with databases. Python CGI enables the server to carry out Python scripts and provide the results to the client, offering a quick and effective approach to creating dynamic online applications.</p> <p>Python CGI scripts may be used for many things, including creating dynamic web pages, processing forms, and interacting with databases. Since Python, a potent and popular programming language, can be utilized to create scripts, it enables a more customized and flexible approach to web creation. Scalable, safe, and maintainable online applications may be created with Python CGI. Python CGI is a handy tool for web developers building dynamic and interactive online applications.</p> <h2> Asynchronous Programming in Python </h2> <p> <strong>Asynchronous programming</strong> is a paradigm for computer programming that enables independent and concurrent operation of activities. It is frequently used in applications like web servers, database software, and network programming, where several tasks or requests must be handled concurrently.</p> <p>Python has asyncio, Twisted, and Tornado among its libraries and frameworks for asynchronous programming. Asyncio, one of these, offers a simple interface for asynchronous programming and is the official asynchronous programming library in Python.</p> <p>Coroutines are functions that may be halted and restarted at specific locations in the code and are utilized by asyncio. This enables numerous coroutines to operate simultaneously without interfering with one another. For constructing and maintaining coroutines, the library offers several classes and methods, including <strong>asyncio.gather(),</strong> <strong>asyncio.wait(),</strong> and <strong>asyncio.create_task().</strong> </p> <p>Event loops, which are in charge of planning and operating coroutines, are another feature of asyncio. By cycling between coroutines in a non-blocking way, the event loop controls the execution of coroutines and ensures that no coroutine blocks another. Additionally, it supports timers and scheduling callbacks, which may be helpful when activities must be completed at specified times or intervals.</p> <h2> Python Concurrency </h2> <p>The term &apos; <strong>concurrency</strong> &apos; describes a program&apos;s capacity to carry out several tasks at once, enhancing the program&apos;s efficiency. Python offers several modules and concurrency-related methods, including asynchronous programming, multiprocessing, and multithreading. While multiprocessing involves running many processes simultaneously on a system, multithreading involves running numerous threads concurrently inside a single process.</p> <p>The <strong>threading module</strong> in Python enables programmers to build multithreading. It offers classes and operations for establishing and controlling threads. Conversely, the multiprocessing module allows developers to design and control processes. Python&apos;s asyncio module provides asynchronous programming support, allowing developers to write non-blocking code that can handle multiple tasks concurrently. Using these techniques, developers can write highperformance, scalable programs that can handle multiple tasks concurrently.</p> <p>Python&apos;s threading module enables the concurrent execution of several threads within a single process, which is helpful for I/O-bound activities.</p> <p>For CPU-intensive operations like image processing or data analysis, multiprocessing modules make it possible to execute numerous processes concurrently across multiple CPU cores.</p> <p>The asyncio module supports asynchronous I/O and permits the creation of single-threaded concurrent code using coroutines for high-concurrency network applications.</p> <p>With libraries like Dask , <a href="/pyspark-tutorial">PySpark</a> , and MPI, Python may also be used for parallel computing. These libraries allow workloads to be distributed across numerous nodes or clusters for better performance.</p> <h2> Web Scrapping using Python </h2> <p>The process of web scraping is used to retrieve data from websites automatically. Various tools and libraries extract data from HTML and other online formats. Python is among the most widely used programming languages for web scraping because of its ease of use, adaptability, and variety of libraries.</p> <p>We must take a few steps to accomplish web scraping using Python. We must first decide which website to scrape and what information to gather. Then, we can submit a request to the website and receive the HTML content using Python&apos;s requests package. Once we have the HTML text, we can extract the needed data using a variety of parsing packages, like <strong>Beautiful Soup and lxml</strong> .</p> <p>We can employ several strategies, like slowing requests, employing user agents, and using proxies, to prevent overburdening the website&apos;s server. It is also crucial to abide by the terms of service for the website and respect its robots.txt file.</p> <p>Data mining, lead creation, pricing tracking, and many more uses are possible for web scraping. However, as unauthorized web scraping may be against the law and unethical, it is essential to utilize it professionally and ethically.</p> <h2>Natural Language Processing (NLP) using Python</h2> <p>A branch of artificial intelligence (AI) called &apos;natural language processing&apos; (NLP) studies how computers and human language interact. Thanks to NLP, computers can now understand, interpret, and produce human language. Due to its simplicity, versatility, and strong libraries like NLTK (Natural Language Toolkit) and spaCy, Python is a well-known programming language for NLP.</p> <p> <strong>For NLP tasks, including tokenization, stemming, lemmatization, part-of-speech tagging, named entity identification, sentiment analysis, and others, NLTK provides a complete library.</strong> It has a variety of corpora (big, organized text collections) for developing and evaluating NLP models. Another well-liked library for NLP tasks is spaCy , which offers quick and effective processing of enormous amounts of text. It enables simple modification and expansion and comes with pre-trained models for various NLP workloads.</p> <p>NLP may be used in Python for various practical purposes, including chatbots, sentiment analysis, text categorization, machine translation, and more. NLP is used, for instance, by chatbots to comprehend and reply to user inquiries in a natural language style. Sentiment analysis, which may be helpful for brand monitoring, customer feedback analysis, and other purposes, employs NLP to categorize text sentiment (positive, negative, or neutral). Text documents are categorized using natural language processing (NLP) into pre-established categories for spam detection, news categorization, and other purposes.</p> <p>Python is a strong and useful tool when analyzing and processing human language. Developers may carry out various NLP activities and create useful apps that can communicate with consumers in natural language with libraries like NLTK and spaCy.</p> <h2>Conclusion:</h2> <p>In this tutorial, we&apos;ve looked at some of Python&apos;s most important features and ideas, including variables, data types, loops, functions, modules, and more. More complex subjects, including web scraping, natural language processing, parallelism, and database connection, have also been discussed. You will have a strong basis to continue learning about Python and its applications using the information you have learned from this lesson.</p> <p>Remember that practicing and developing code is the best method to learn Python. You may find many resources at javaTpoint to support your further learning, including documentation, tutorials, online groups, and more. You can master Python and use it to create wonderful things if you work hard and persist.</p> <h2>Prerequisite</h2> <p>Before learning Python, you must have the basic knowledge of programming concepts.</p> <h2>Audience</h2> <p>Our Python tutorial is designed to help beginners and professionals.</p> <h2>Problem</h2> <p>We assure that you will not find any problem in this Python tutorial. But if there is any mistake, please post the problem in contact form.</p> <hr></=>

    W tym przykładzie utworzyliśmy klasę Squares, która działa jako iterator, implementując metody __iter__() i __next__(). Metoda __iter__() zwraca sam obiekt, a metoda __next__() zwraca kolejny kwadrat liczby aż do osiągnięcia limitu.

    Aby dowiedzieć się więcej na temat iteratorów, odwiedź nasz samouczek dotyczący iteratorów języka Python.

    Generatory Pythona

    Generatory Pythona wygenerować ciąg wartości za pomocą instrukcji Yield zamiast powrotu, ponieważ są to funkcje zwracające iteratory. Generatory przerywają wykonywanie funkcji, zachowując stan lokalny. Po ponownym uruchomieniu rozpoczyna się dokładnie tam, gdzie został przerwany. Ponieważ dzięki tej funkcji nie musimy implementować protokołu iteratora, pisanie iteratorów jest prostsze. Oto ilustracja prostej funkcji generatora, która generuje kwadraty liczb:

     # Generator Function def square_numbers(n): for i in range(n): yield i**2 # Create a generator object generator = square_numbers(5) # Print the values generated by the generator for num in generator: print(num) 

    Wyjście:

     0 1 4 9 16 

    Modyfikatory Pythona

    Dekoratorzy Pythona to funkcje służące do modyfikowania zachowania innej funkcji. Umożliwiają dodanie funkcjonalności do istniejącej funkcji bez bezpośredniej modyfikacji jej kodu. Dekoratory są definiowane za pomocą @ symbol, po którym następuje nazwa funkcji dekoratora. Można ich używać do rejestrowania, pomiaru czasu, buforowania itp.

    Oto przykład funkcji dekoratora, która dodaje funkcję synchronizacji do innej funkcji:

     import time from math import factorial # Decorator to calculate time taken by # the function def time_it(func): def wrapper(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print(f&apos;{func.__name__} took {end-start:.5f} seconds to run.&apos;) return result return wrapper @time_it def my_function(n): time.sleep(2) print(f&apos;Factorial of {n} = {factorial(n)}&apos;) my_function(25) 

    Wyjście:

     

    W powyższym przykładzie funkcja dekoratora time_it przyjmuje inną funkcję jako argument i zwraca funkcję opakowującą. Funkcja wrapper oblicza czas wykonania oryginalnej funkcji i wypisuje go na konsoli. Dekorator @time_it służy do zastosowania funkcji time_it do funkcji my_function. Kiedy wywoływana jest funkcja my_function, wykonywany jest dekorator i dodawana jest funkcja synchronizacji.

    MySQL w Pythonie

    Python MySQL to potężny system zarządzania relacyjnymi bazami danych. Musimy skonfigurować środowisko i nawiązać połączenie, aby móc używać MySQL z Pythonem. Nową bazę danych i tabele możemy stworzyć za pomocą poleceń SQL w Pythonie.

    • Konfiguracja środowiska : Instalowanie i konfigurowanie MySQL Connector/Python do używania Pythona z MySQL.
    • Połączenie z bazą danych : Nawiązanie połączenia pomiędzy Pythonem i bazą danych MySQL za pomocą MySQL Connector/Python.
    • Tworzenie nowej bazy danych : Tworzenie nowej bazy danych w MySQL przy użyciu Pythona.
    • Tworzenie tabel : Tworzenie tabel w bazie danych MySQL za pomocą języka Python przy użyciu poleceń SQL.
    • Wstaw operację : Wstaw dane do tabel MySQL za pomocą poleceń Python i SQL.
    • Przeczytaj Operację : Odczyt danych z tabel MySQL za pomocą poleceń Python i SQL.
    • Aktualizacja operacji : Aktualizacja danych w tabelach MySQL za pomocą poleceń Python i SQL.
    • Dołącz do Operacji : Łączenie dwóch lub więcej tabel w MySQL za pomocą poleceń Python i SQL.
    • Wykonywanie transakcji : Wykonywanie grupy zapytań SQL jako pojedynczej jednostki pracy w MySQL przy użyciu języka Python.

    Inne względne kwestie obejmują obsługę błędów, tworzenie indeksów oraz używanie procedur składowanych i funkcji w MySQL z Pythonem.

    MongoDB w Pythonie

    Python MongoDB to popularna baza danych NoSQL, która przechowuje dane w dokumentach typu JSON. Jest bezschematowy i zapewnia wysoką skalowalność i elastyczność przechowywania danych. MongoDB możemy używać z Pythonem, korzystając z biblioteki PyMongo, która zapewnia prosty i intuicyjny interfejs do interakcji z MongoDB.

    Oto kilka typowych zadań podczas pracy z MongoDB w Pythonie:

    1. Konfiguracja środowiska : Zainstaluj i skonfiguruj bibliotekę MongoDB i PyMongo w swoim systemie.
    2. Połączenie z bazą danych : Połącz się z serwerem MongoDB przy użyciu klasy MongoClient z PyMongo.
    3. Tworzenie nowej bazy danych : Użyj obiektu MongoClient, aby utworzyć nową bazę danych.
    4. Tworzenie kolekcji : Twórz kolekcje w bazie danych do przechowywania dokumentów.
    5. Wstawianie dokumentów : Wstaw nowe dokumenty do kolekcji za pomocą metod wstaw_one() lub wstaw_many().
    6. Zapytanie o dokumenty : Pobieraj dokumenty z kolekcji przy użyciu różnych metod zapytań, takich jak find_one(), find() itp.
    7. Aktualizacja dokumentów : Modyfikuj istniejące dokumenty w kolekcji za pomocą metod update_one() lub update_many().
    8. Usuwanie dokumentów : Usuń dokumenty z kolekcji za pomocą metod Delete_one() lub Delete_many().
    9. Zbiór : Wykonuj operacje agregacji, takie jak grupowanie, zliczanie itp., korzystając ze struktury potoku agregacji.
    10. Indeksowanie:Popraw wydajność zapytań, tworząc indeksy dla pól w kolekcjach.

    W MongoDB istnieje wiele bardziej zaawansowanych tematów, takich jak fragmentowanie danych, replikacja i inne, ale te zadania obejmują podstawy pracy z MongoDB w Pythonie.

    SQLite w Pythonie

    Relacyjne bazy danych są budowane i utrzymywane przy użyciu języka Python SQLite — kompaktowego, bezserwerowego i samodzielnego silnika baz danych. Jego mobilność i prostota sprawiają, że jest to popularna opcja w zastosowaniach lokalnych lub na małą skalę. Python ma wbudowany moduł do łączenia się z bazami danych SQLite o nazwie SQLite3, umożliwiający programistom bezproblemową pracę z bazami danych SQLite.

    Za pośrednictwem biblioteki SQLite3 dostępne są różne metody API, których można używać do uruchamiania zapytań SQL, wstawiania, wybierania, aktualizowania i usuwania danych, a także pobierania danych z tabel. Dodatkowo umożliwia transakcje, pozwalając programistom na cofnięcie zmian w przypadku problemu. Python SQLite to fantastyczna opcja do tworzenia programów wymagających wbudowanego systemu baz danych, w tym programów komputerowych, mobilnych i niewielkich rozmiarów programów internetowych. SQLite stał się popularny wśród programistów w zakresie lekkich aplikacji z funkcjonalnością bazy danych dzięki łatwości użytkowania, przenośności i płynnemu połączeniu z Pythonem.

    Grafika komputerowa w Pythonie

    Grafika komputerowa w Pythonie to technologia umożliwiająca uruchamianie skryptów za pośrednictwem serwerów internetowych w celu tworzenia dynamicznych treści online. Oferuje kanał komunikacyjny i interfejs dynamicznego generowania treści dla zewnętrznych skryptów CGI i serwera WWW. Skrypty CGI w języku Python mogą tworzyć strony internetowe w formacie HTML, obsługiwać wprowadzanie formularzy i komunikować się z bazami danych. Python CGI umożliwia serwerowi wykonywanie skryptów w języku Python i dostarczanie wyników klientowi, oferując szybkie i skuteczne podejście do tworzenia dynamicznych aplikacji online.

    Skrypty CGI w języku Python mogą być używane do wielu celów, w tym do tworzenia dynamicznych stron internetowych, przetwarzania formularzy i interakcji z bazami danych. Ponieważ Python, potężny i popularny język programowania, może być używany do tworzenia skryptów, umożliwia bardziej dostosowane i elastyczne podejście do tworzenia stron internetowych. Skalowalne, bezpieczne i łatwe w utrzymaniu aplikacje online można tworzyć za pomocą Python CGI. Python CGI to przydatne narzędzie dla twórców stron internetowych tworzących dynamiczne i interaktywne aplikacje internetowe.

    Programowanie asynchroniczne w Pythonie

    Programowanie asynchroniczne to paradygmat programowania komputerowego umożliwiający niezależne i współbieżne wykonywanie działań. Jest często używany w aplikacjach, takich jak serwery WWW, oprogramowanie baz danych i programowanie sieci, gdzie kilka zadań lub żądań musi być obsługiwanych jednocześnie.

    W Pythonie znajdują się asyncio, Twisted i Tornado wśród swoich bibliotek i frameworków do programowania asynchronicznego. Jedna z nich, Asyncio, oferuje prosty interfejs do programowania asynchronicznego i jest oficjalną biblioteką programowania asynchronicznego w Pythonie.

    Współprogramy to funkcje, które można zatrzymać i ponownie uruchomić w określonych miejscach kodu i są wykorzystywane przez asyncio. Umożliwia to jednoczesne działanie wielu współprogramów bez zakłócania się nawzajem. Do konstruowania i utrzymywania współprogramów biblioteka oferuje kilka klas i metod, w tym asyncio.gather(), asyncio.wait(), I asyncio.create_task().

    Pętle zdarzeń odpowiedzialne za planowanie i obsługę współprogramów to kolejna cecha asyncio. Przechodząc cyklicznie pomiędzy współprogramami w sposób nieblokujący, pętla zdarzeń kontroluje wykonywanie współprogramów i zapewnia, że ​​żadna współprogram nie blokuje innej. Dodatkowo obsługuje liczniki czasu i planowanie wywołań zwrotnych, co może być pomocne, gdy czynności muszą zostać wykonane w określonych godzinach lub odstępach czasu.

    Współbieżność Pythona

    Termin ' konkurencja ' opisuje zdolność programu do wykonywania kilku zadań jednocześnie, zwiększając jego efektywność. Python oferuje kilka modułów i metod związanych ze współbieżnością, w tym programowanie asynchroniczne, przetwarzanie wieloprocesowe i wielowątkowość. Podczas gdy przetwarzanie wieloprocesowe wymaga jednoczesnego uruchamiania wielu procesów w systemie, wielowątkowość polega na jednoczesnym uruchamianiu wielu wątków w ramach jednego procesu.

    The moduł gwintowania w Pythonie umożliwia programistom budowanie wielowątkowości. Oferuje klasy i operacje służące do ustanawiania i kontrolowania wątków. I odwrotnie, moduł wieloprocesowy umożliwia programistom projektowanie i kontrolowanie procesów. Moduł asyncio języka Python zapewnia obsługę programowania asynchronicznego, umożliwiając programistom pisanie nieblokującego kodu, który może obsługiwać wiele zadań jednocześnie. Korzystając z tych technik, programiści mogą pisać wysoce wydajne, skalowalne programy, które mogą obsługiwać wiele zadań jednocześnie.

    Moduł wątków Pythona umożliwia jednoczesne wykonywanie kilku wątków w ramach jednego procesu, co jest pomocne w przypadku działań związanych z we/wy.

    W przypadku operacji intensywnie obciążających procesor, takich jak przetwarzanie obrazu lub analiza danych, moduły wieloprocesorowe umożliwiają jednoczesne wykonywanie wielu procesów na wielu rdzeniach procesora.

    Moduł asyncio obsługuje asynchroniczne operacje we/wy i umożliwia tworzenie jednowątkowego, współbieżnego kodu przy użyciu współprogramów dla aplikacji sieciowych o dużej współbieżności.

    Dzięki bibliotekom takim jak Dask PySpark i MPI, Python może być również używany do obliczeń równoległych. Biblioteki te umożliwiają dystrybucję obciążeń pomiędzy wieloma węzłami lub klastrami w celu uzyskania lepszej wydajności.

    Scraping sieciowy przy użyciu Pythona

    Proces web scrapingu służy do automatycznego pobierania danych ze stron internetowych. Różne narzędzia i biblioteki wyodrębniają dane z HTML i innych formatów online. Python jest jednym z najczęściej używanych języków programowania do skrobania stron internetowych ze względu na łatwość użycia, możliwości adaptacji i różnorodność bibliotek.

    Musimy wykonać kilka kroków, aby wykonać skrobanie sieci za pomocą Pythona. Najpierw musimy zdecydować, którą witrynę zeskrobać i jakie informacje zebrać. Następnie możemy przesłać żądanie do witryny i otrzymać treść HTML za pomocą pakietu żądań Pythona. Kiedy już mamy tekst HTML, możemy wyodrębnić potrzebne dane, korzystając z różnych pakietów analizujących, np Piękna zupa i lxml .

    Możemy zastosować kilka strategii, takich jak spowalnianie żądań, zatrudnianie programów użytkownika i używanie serwerów proxy, aby zapobiec przeciążeniu serwera witryny. Istotne jest także przestrzeganie regulaminu serwisu oraz respektowanie zawartego w nim pliku robots.txt.

    Eksploracja danych, tworzenie potencjalnych klientów, śledzenie cen i wiele innych zastosowań jest możliwe w przypadku skrobania sieci. Ponieważ jednak nieautoryzowane skrobanie sieci może być niezgodne z prawem i nieetyczne, istotne jest, aby wykorzystywać je w sposób profesjonalny i etyczny.

    Przetwarzanie języka naturalnego (NLP) przy użyciu języka Python

    Oddział sztucznej inteligencji (AI) zwany „przetwarzaniem języka naturalnego” (NLP) bada interakcję komputerów i języka ludzkiego. Dzięki NLP komputery mogą teraz rozumieć, interpretować i tworzyć ludzki język. Ze względu na swoją prostotę, wszechstronność i silne biblioteki, takie jak NLTK (Natural Language Toolkit) i spaCy, Python jest dobrze znanym językiem programowania w NLP.

    Do zadań NLP, w tym tokenizacji, stemmingu, lematyzacji, znakowania części mowy, identyfikacji nazwanych jednostek, analizy nastrojów i innych, NLTK zapewnia kompletną bibliotekę. Zawiera różnorodne korpusy (duże, zorganizowane zbiory tekstów) do opracowywania i oceny modeli NLP. Kolejną popularną biblioteką do zadań NLP jest spaCy, która oferuje szybkie i efektywne przetwarzanie ogromnych ilości tekstu. Umożliwia prostą modyfikację i rozbudowę oraz zawiera wstępnie przeszkolone modele dla różnych obciążeń NLP.

    NLP można używać w Pythonie do różnych celów praktycznych, w tym do chatbotów, analizy nastrojów, kategoryzacji tekstu, tłumaczenia maszynowego i nie tylko. NLP jest wykorzystywane na przykład przez chatboty do rozumienia zapytań użytkowników i odpowiadania na nie w stylu języka naturalnego. Analiza nastrojów, która może być pomocna przy monitorowaniu marki, analizie opinii klientów i do innych celów, wykorzystuje NLP do kategoryzowania nastrojów związanych z tekstem (pozytywne, negatywne lub neutralne). Dokumenty tekstowe są kategoryzowane przy użyciu przetwarzania języka naturalnego (NLP) na wcześniej ustalone kategorie na potrzeby wykrywania spamu, kategoryzacji wiadomości i do innych celów.

    Python jest mocnym i użytecznym narzędziem do analizy i przetwarzania ludzkiego języka. Programiści mogą wykonywać różne działania NLP i tworzyć przydatne aplikacje, które mogą komunikować się z konsumentami w języku naturalnym za pomocą bibliotek takich jak NLTK i spaCy.

    Wniosek:

    W tym samouczku przyjrzeliśmy się niektórym najważniejszym funkcjom i pomysłom Pythona, w tym zmiennym, typom danych, pętlom, funkcjom, modułom i nie tylko. Omówiono również bardziej złożone tematy, w tym skrobanie sieci, przetwarzanie języka naturalnego, równoległość i połączenie z bazą danych. Będziesz mieć solidne podstawy do dalszej nauki języka Python i jego zastosowań, korzystając z informacji zdobytych w tej lekcji.

    b plus drzewo

    Pamiętaj, że ćwiczenie i rozwijanie kodu to najlepsza metoda nauki języka Python. W javaTpoint możesz znaleźć wiele zasobów, które pomogą Ci w dalszej nauce, w tym dokumentację, samouczki, grupy online i nie tylko. Jeśli będziesz ciężko pracować i wytrwać, możesz opanować język Python i używać go do tworzenia wspaniałych rzeczy.

    Warunek wstępny

    Zanim nauczysz się języka Python, musisz posiadać podstawową wiedzę na temat pojęć programistycznych.

    Publiczność

    Nasz samouczek dotyczący języka Python został zaprojektowany, aby pomóc początkującym i profesjonalistom.

    Problem

    Zapewniamy, że w tym samouczku Pythona nie znajdziesz żadnego problemu. Jeśli jednak wystąpi jakiś błąd, prosimy o przesłanie problemu w formularzu kontaktowym.