logo

Урок за Python | Език за програмиране Python

Python е широко използван език за програмиране, който предлага няколко уникални характеристики и предимства в сравнение с езици като Java и C++. Нашият урок за Python подробно обяснява основите на Python и разширените концепции, като се започне с инсталирането, условни изявления , цикли , вградени структури от данни , обектно-ориентирано програмиране , генератори , обработка на изключения , Python RegEx и много други концепции. Този урок е предназначен за начинаещи и работещи професионалисти.

В края на 1980 г. Гуидо ван Росум мечтаех да разработя Python. Първата версия на Python 0.9.0 беше пуснат през 1991 г . След пускането си Python започна да набира популярност. Според докладите Python сега е най-популярният език за програмиране сред разработчиците поради високите си изисквания в технологичната сфера.

Какво е Python

Python е универсален, динамично типизиран, високо ниво, компилиран и интерпретиран, събиращ боклук и чисто обектно-ориентиран език за програмиране, който поддържа процедурно, обектно-ориентирано и функционално програмиране.

Характеристики на Python:

    Лесен за използване и четене -Синтаксисът на Python е ясен и лесен за четене, което го прави идеален език както за начинаещи, така и за опитни програмисти. Тази простота може да доведе до по-бързо развитие и да намали шансовете за грешки.Динамично въведено- Типовете данни на променливите се определят по време на изпълнение. Не е необходимо да указваме типа данни на променлива по време на писане на кодове.Високо ниво- Език от високо ниво означава четим от човека код.Компилиран и интерпретиран- Кодът на Python първо се компилира в байт код и след това се интерпретира ред по ред. Когато изтеглим Python в нашата системна форма орг изтегляме изпълнението по подразбиране на Python, известно като CPython. CPython се счита за съвместим и интерпретиран едновременно.Събран боклук- Разпределението и освобождаването на памет се управляват автоматично. Програмистите не трябва специално да управляват паметта.Чисто обектно-ориентиран- Отнася се за всичко като обект, включително числа и низове.Съвместимост между платформи- Python може лесно да се инсталира на Windows, macOS и различни Linux дистрибуции, което позволява на разработчиците да създават софтуер, който работи в различни операционни системи.Богата стандартна библиотека- Python идва с няколко стандартни библиотеки, които предоставят готови за използване модули и функции за различни задачи, вариращи от уеб разработка и манипулиране на данни да се машинно обучение и работа в мрежа .Отворен код- Python е безплатен език за програмиране с отворен код. В резултат на това се използва в няколко сектора и дисциплини.

Python има много уеб базирани активи , проекти с отворен код , и жизнена общност . Изучаването на езика, съвместната работа по проекти и приносът към екосистемата на Python са много лесни за разработчиците.

Поради простата си езикова рамка Python е по-лесен за разбиране и писане на код. Това го прави фантастичен език за програмиране за начинаещи. Освен това помага на опитни програмисти да напишат ясен код без грешки.

Python има много библиотеки на трети страни, които могат да се използват за улесняване на неговата функционалност. Тези библиотеки обхващат много области, например уеб разработка, научни изчисления, анализ на данни и др.

Java срещу Python

Python е отличен избор за бърза разработка и скриптови задачи. Докато Java набляга на силна типова система и обектно-ориентирано програмиране.

Ето някои основни програми, които илюстрират основните разлики между тях.

Отпечатване на „Hello World“

Код на Python:

 print('Hello World)' 

В Python това е един ред код. Изисква прост синтаксис за отпечатване на „Hello World“

Java код:

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

В Java трябва да декларираме класове, структури на методи и много други неща.

Въпреки че и двете програми дават еднакъв изход, можем да забележим разликата в синтаксиса в израза за печат.

камилски питон
  • В Python е лесно да се учи и пише код. Докато е в Java, той изисква повече код за изпълнение на определени задачи.
  • Python е динамично типизиран, което означава, че не е необходимо да декларираме променливата, докато Java е статистически типизиран, което означава, че трябва да декларираме типа на променливата.
  • Python е подходящ за различни области като Data Science, Machine Learning, Web development и други. Докато Java е подходяща за уеб разработка, разработка на мобилни приложения (Android) и др.

Основен синтаксис на Python

В езика за програмиране Python не се използват фигурни скоби или точка и запетая. Това е език, подобен на английски. Но Python използва отстъп, за да дефинира блок от код. Отстъпът не е нищо друго освен добавяне на интервал преди израза, когато е необходимо.

Например -

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

В горния пример операторите, които са на същото ниво вдясно, принадлежат на функцията. Като цяло можем да използваме четири бели интервала, за да дефинираме отстъп.

Вместо точка и запетая, както се използва в други езици, Python завършва своите изрази със знак NewLine.

Python е език, чувствителен към малки и главни букви, което означава, че главните и малките букви се третират по различен начин. Например „име“ и „Име“ са две различни променливи в Python.

В Python коментарите могат да се добавят с помощта на символа '#'. Всеки текст, написан след символа '#', се счита за коментар и се игнорира от интерпретатора. Този трик е полезен за добавяне на бележки към кода или временно деактивиране на кодов блок. Също така помага за по-доброто разбиране на кода от някои други разработчици.

'ако' , 'иначе', 'за' , 'докато' , 'опитай', 'освен' и 'накрая' са няколко запазени ключови думи в Python, които не могат да се използват като имена на променливи. Тези термини се използват в езика по определени причини и имат фиксирани значения. Ако използвате тези ключови думи, вашият код може да включва грешки или интерпретаторът може да ги отхвърли като потенциални нови променливи.

История на Python

Python е създаден от Guido van Rossum . В края на 80-те години Гуидо ван Росум, холандски програмист, започва да работи върху Python, докато е в Centrum Wiskunde & Informatica (CWI) в Холандия. Той искаше да създаде наследник на Език за програмиране ABC това би било лесно за четене и ефективно.

През февруари 1991 г. беше пусната първата публична версия на Python, версия 0.9.0. Това отбеляза официалното раждане на Python като проект с отворен код . Езикът е кръстен на британския комедиен сериал ' Летящият цирк на Монти Пайтън '.

Развитието на Python премина през няколко етапа. През януари 1994 г. Python 1.0 беше пуснат като използваем и стабилен език за програмиране. Тази версия включва много от функциите, които все още присъстват в Python днес.

От 1990-те до 2000-те , Python придоби популярност със своята простота, четливост и гъвкавост. През октомври 2000 г. беше пуснат Python 2.0 . Python 2.0 въведе разбиране на списъци, събиране на отпадъци и поддръжка за Unicode.

През декември 2008 г. беше пуснат Python 3.0. Python 3.0 въведе няколко обратно несъвместими промени за подобряване на четливостта и поддръжката на кода.

През 2010-те години популярността на Python нараства, особено в области като машинно обучение и уеб разработка. Неговата богата екосистема от библиотеки и рамки го направи предпочитан сред разработчиците.

The Python Software Foundation (PSF) е създадена през 2001 г за насърчаване, защита и напредък на езика за програмиране Python и неговата общност.

Защо да научите Python?

Python предоставя много полезни функции на програмиста. Тези характеристики го правят най-популярния и широко използван език. По-долу сме изброили няколко основни функции на Python.

    Лесен за използване и научаване:Python има прост и лесен за разбиране синтаксис, за разлика от традиционните езици като C, C++, Java и др., което го прави лесен за учене от начинаещи.Експресивен език:Той позволява на програмистите да изразяват сложни концепции само с няколко реда код или намалява времето на разработчиците.Интерпретиран език:Python не изисква компилация, което позволява бързо разработване и тестване. Той използва интерпретатор вместо компилатор.
  • Обектно-ориентиран език : Поддържа обектно-ориентирано програмиране, което прави лесно писането на многократно използваем и модулен код.
  • Отворен код език: Python е с отворен код и е безплатен за използване, разпространение и модифициране.Разширяем:Python може да бъде разширен с модули, написани на C, C++ или други езици.Научете стандартната библиотека:Стандартната библиотека на Python съдържа много модули и функции, които могат да се използват за различни задачи, като манипулиране на низове, уеб програмиране и др.Поддръжка за програмиране на GUI:Python предоставя няколко GUI рамки, като напр Tkinter и PyQt, което позволява на разработчиците лесно да създават десктоп приложения.Интегриран:Python може лесно да се интегрира с други езици и технологии, като C/C++, Java и . NET.Възможност за вграждане:Кодът на Python може да бъде вграден в други приложения като скриптов език.Динамично разпределение на паметта:Python автоматично управлява разпределението на паметта, което улеснява разработчиците да пишат сложни програми, без да се притесняват за управлението на паметта.Широка гама от библиотеки и рамки:Python има огромна колекция от библиотеки и рамки, като NumPy, Pandas, Django и Flask, които могат да се използват за решаване на широк кръг от проблеми.Универсалност:Python е универсален език в различни области като уеб разработка, машинно обучение, наука за данни, изкуствен интелект, уеб разработка и др.Голямо търсене:С нарастващото търсене на автоматизация и дигитална трансформация, необходимостта от разработчици на Python нараства. Много индустрии търсят квалифицирани разработчици на Python, които да помогнат за изграждането на тяхната цифрова инфраструктура.Повишена производителност:Python има прост синтаксис и мощни библиотеки, които могат да помогнат на разработчиците да пишат код по-бързо и по-ефективно. Това може да увеличи продуктивността и да спести време на разработчиците и организациите.Големи данни и машинно обучение:Python се превърна в основния език за големи данни и машинно обучение. Python стана популярен сред учените по данни и инженерите по машинно обучение с библиотеки като NumPy, Pandas, Scikit-learn, TensorFlow и др.

Къде се използва Python?

Python е популярен език за програмиране с общо предназначение и се използва в почти всяка техническа област. Различните области на използване на Python са дадени по-долу.

    Наука за данни:Data Science е обширна област и Python е важен език за тази област поради своята простота, лекота на използване и наличието на мощни библиотеки за анализ на данни и визуализация като NumPy, Pandas и Matplotlib.Настолни приложения:PyQt и Tkinter са полезни библиотеки, които могат да се използват в GUI - Настолни приложения, базирани на графичен потребителски интерфейс. Има по-добри езици за това поле, но може да се използва с други езици за създаване на приложения.Конзолни приложения:Python също така често се използва за създаване на команден ред или приложения, базирани на конзола, поради неговата лекота на използване и поддръжка на разширени функции като пренасочване на вход/изход и тръбопроводи.Мобилни приложения:Въпреки че Python не се използва често за създаване на мобилни приложения, той все пак може да се комбинира с рамки като Kivy или BeeWare за създаване на различни платформени мобилни приложения.Разработване на софтуер:Python се счита за един от най-добрите езици за създаване на софтуер. Python е лесно съвместим както с малък, така и с голям софтуер.
  • Изкуствен интелект : AI е нововъзникваща технология, а Python е перфектен език за изкуствен интелект и машинно обучение поради наличието на мощни библиотеки като TensorFlow, Keras и PyTorch.
  • Уеб приложения:Python обикновено се използва в уеб разработката в бекенда с рамки като Django и Flask и в предния край с инструменти като JavaScript HTML и CSS.Корпоративни приложения:Python може да се използва за разработване на широкомащабни корпоративни приложения с функции като разпределено изчисление, работа в мрежа и паралелна обработка.3D CAD приложения:Python може да се използва за приложения за 3D компютърно проектиране (CAD) чрез библиотеки като Blender.Машинно обучение:Python се използва широко за машинно обучение поради своята простота, лекота на използване и наличието на мощни библиотеки за машинно обучение.Приложения за компютърно зрение или обработка на изображения:Python може да се използва за компютърно зрение и приложения за обработка на изображения чрез мощни библиотеки като OpenCV и Scikit-image.Гласово разпознаване:Python може да се използва за приложения за разпознаване на реч чрез библиотеки като SpeechRecognition и PyAudio.Научни изчисления:Библиотеки като NumPy, SciPy и Pandas предоставят усъвършенствани числени изчислителни възможности за задачи като анализ на данни, машинно обучение и други.образование:Лесният за научаване синтаксис на Python и наличието на много ресурси го правят идеален език за преподаване на програмиране на начинаещи.Тестване:Python се използва за писане на автоматизирани тестове, предоставяйки рамки като unit tests и pytest, които помагат за писане на тестови случаи и генериране на отчети.Игри:Python има библиотеки като Pygame, които предоставят платформа за разработване на игри с помощта на Python.IoT:Python се използва в IoT за разработване на скриптове и приложения за устройства като Raspberry Pi, Arduino и други.Работа в мрежа:Python се използва в мрежите за разработване на скриптове и приложения за мрежова автоматизация, наблюдение и управление.
  • DevOps : Python се използва широко в DevOps за автоматизация и скриптове за управление на инфраструктурата, управление на конфигурацията и процеси на внедряване.
  • Финанси:Python има библиотеки като Pandas, Scikit-learn и Statsmodels за финансово моделиране и анализ.Аудио и музика:Python има библиотеки като Pyaudio, която се използва за аудио обработка, синтез и анализ, и Music21, която се използва за анализ и генериране на музика.Писане на скриптове:Python се използва за писане на помощни скриптове за автоматизиране на задачи като файлови операции, уеб скрапинг и популярни рамки и библиотеки на Python

    Python разполага с широк набор от библиотеки и рамки, широко използвани в различни области като машинно обучение, изкуствен интелект, уеб приложения и др. Ние дефинираме някои популярни рамки и библиотеки на Python, както следва.

    Функция Python print().

    Функцията print() на Python се използва за показване на изход към конзолата или терминала. Позволява ни да показваме текст, променливи и други данни в четим от човека формат.

    Синтаксис:

    печат (обект(и), сеп=разделител, край=край, файл=файл, промиване=промиване)

    Той приема един или повече аргументи, разделени със запетая(,) и добавя „нов ред“ в края по подразбиране.

    Параметри:

    • обект(и) - Колкото искате данни да се показват, първо ще бъдат преобразувани в низ и отпечатани на конзолата.
    • sep - Разделя обектите чрез подаден разделител, стойност по подразбиране = ' '.
    • край - Завършва ред със знак за нов ред
    • файл - файлов обект с метод за запис, стойност по подразбиране = sys.stdout

    Пример:

     # 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)) 

    Изход:

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

    В този пример операторът за печат се използва за отпечатване на низови, цели числа и стойности с плаваща задна буква в четим от човека формат.

    Изявлението за печат може да се използва за отстраняване на грешки, регистриране и за предоставяне на информация на потребителя.

    Условни оператори на Python

    Условните оператори ни помагат да изпълним конкретен блок за конкретно условие. В този урок ще научим как да използваме условен израз, за ​​да изпълним различен блок от оператори. Python предоставя ключови думи if и else за задаване на логически условия. The Елиф ключовата дума също се използва като условен израз.

    Примерен код за оператор 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') 

    Изход:

     x is greater than y 

    В горния код имаме две променливи, x и y, съответно с 10 и 5. След това използвахме оператор if..else, за да проверим дали x е по-голямо от y или обратното. Ако първото условие е вярно, се отпечатва твърдението „x е по-голямо от y“. Ако първото условие е грешно, вместо него се отпечатва изразът „y е по-голямо или равно на x“.

    Ключовата дума if проверява дали условието е вярно и изпълнява кодовия блок вътре в него. Кодът в блока else се изпълнява, ако условието е невярно. По този начин изразът if..else ни помага да изпълним различни блокове код въз основа на условие.

    Ще научим за това по-подробно в следващата статия за урока по Python.

    Цикли на Python

    Понякога може да се наложи да променим потока на програмата. Изпълнението на определен код може да се наложи да се повтори няколко пъти. За тази цел езиците за програмиране предоставят различни цикли, способни да повтарят определен код няколко пъти. Разгледайте следния урок, за да разберете твърденията в детайли.

    Python за цикъл

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

    Изход:

     apple banana cherry 

    Python While Loop

     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:>

    В горния примерен код демонстрирахме използването на два типа цикли в Python - цикъл For и цикъл While.

    Цикълът For се използва за итериране на последователност от елементи, като списък, кортеж или низ. В примера дефинирахме списък с плодове и използвахме for цикъл за отпечатване на всеки плод, но може да се използва и за отпечатване на диапазон от числа.

    Цикълът While повтаря кодов блок, ако определеното условие е вярно. В примера сме инициализирали променлива i до 1 и сме използвали цикъл while, за да отпечатаме стойността на i, докато стане по-голяма или равна на 6. Операторът i += 1 се използва за увеличаване на стойността на i във всяка итерация .

    Ще научим за тях в урока подробно.

    Структури на данни на Python

    Python предлага четири вградени структури от данни: списъци , кортежи , комплекти , и речници които ни позволяват да съхраняваме данни по ефективен начин. По-долу са често използвани структури от данни в Python, заедно с примерен код:

    1. Списъци

    • Списъците са поръчани колекции на елементи от данни от различни типове данни.
    • Списъците са променлив което означава, че списъкът може да бъде модифициран по всяко време.
    • Елементите могат да бъдат достъпни чрез индекси .
    • Те се определят с помощта на квадратни скоби ' [] '.

    Пример:

     # 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) 

    Изход:

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

    2. Кортежи

    • Кортежите също са поръчани колекции на елементи от данни от различни типове данни, подобно на списъците.
    • Елементите могат да бъдат достъпни чрез индекси .
    • Кортежите са неизменен което означава, че кортежите не могат да бъдат модифицирани, след като бъдат създадени.
    • Те се дефинират с отворена скоба ' () '.

    Пример:

     # 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_) 

    Изход:

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

    3. Комплекти

    • Комплектите са неподредени колекции от неизменни елементи от данни от различни типове данни.
    • Комплектите са променлив .
    • Елементите не могат да бъдат достъпни чрез индекси.
    • Комплекти не съдържат дублирани елементи .
    • Те се дефинират с помощта на фигурни скоби ' {} '

    Пример:

     # 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) 

    Изход:

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

    4. Речници

    • Речник са двойки ключ-стойност които ви позволяват да свързвате стойности с уникални ключове.
    • Те се дефинират с помощта на фигурни скоби ' {} “ с двойки ключ-стойност разделени с двоеточие ':' .
    • Речниците са променлив .
    • Елементите могат да бъдат достъпни с помощта на клавиши.

    Пример:

     # 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) 

    Изход:

     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;} 

    Това са само няколко примера за вградени структури от данни на Python. Всяка структура от данни има свои собствени характеристики и случаи на използване.

    np.нули

    Функционално програмиране на Python

    Този раздел от ръководството за Python дефинира някои важни инструменти, свързани с функционалното програмиране, като ламбда и рекурсивни функции. Тези функции са много ефективни при изпълнение на сложни задачи. Дефинираме няколко важни функции, като намаляване, карта и филтриране. Python предоставя модула functools, който включва различни инструменти за функционално програмиране. Посетете следния урок, за да научите повече за функционалното програмиране.

    Последните версии на Python въвеждат функции, които правят функционалното програмиране по-сбито и изразително. Например операторът 'walrus':= позволява присвояване на вградени променливи в изрази, което може да бъде полезно при работа с вложени извиквания на функции или разбиране на списъци.

    Python функция

    1. Ламбда функция - Ламбда функцията е малка, анонимна функция който може да приема произволен брой аргументи, но може да има само един израз. Ламбда функциите често се използват във функционалното програмиране за създаване на функции „в движение“, без да се дефинира наименувана функция.
    2. Рекурсивна функция - Рекурсивна функция е функция, която се извиква сама за решаване на проблем. Рекурсивните функции често се използват във функционалното програмиране за извършване на сложни изчисления или за преминаване през сложни структури от данни.
    3. Функция на картата - Функцията map() прилага дадена функция към всеки елемент от итерируем и връща нов итерируем с резултатите. Входният итерируем може да бъде списък, кортеж или друго.
    4. Филтърна функция - Функцията filter() връща итератор от итерируем, за който функцията, подадена като първи аргумент, връща True. Той филтрира елементите от итерируем, които не отговарят на даденото условие.
    5. Функция за намаляване - Функцията reduce() прилага функция от два аргумента кумулативно към елементите на итерируем отляво надясно, за да го намали до една стойност.
    6. модул functools - Модулът functools в Python предоставя функции от по-висок ред, които работят с други функции, като partial() и reduce().
    7. Функция за къри - Curry функция е функция, която приема множество аргументи и връща поредица от функции, всяка от които приема един аргумент.
    8. Функция за запаметяване - Мемоизацията е техника, използвана във функционалното програмиране за кеширане на резултатите от скъпи извиквания на функции и връщане на кеширания резултат, когато същите входове се появят отново.
    9. Threading функция - Threading е техника, използвана във функционалното програмиране за изпълнение на множество задачи едновременно, за да се направи кодът по-ефективен и по-бърз.

    Python модули

    Модулите на Python са програмни файлове, които съдържат код или функции на Python. Python има два вида модули - дефинирани от потребителя модули и вградени модули. Модул, дефиниран от потребителя, или нашият Python код, записан с разширение .py, се третира като дефиниран от потребителя модул.

    Вградените модули са предварително дефинирани модули на Python. За да използваме функционалността на модулите, трябва да ги импортираме в текущата ни работеща програма.

    Модулите на Python са от съществено значение за екосистемата на езика, тъй като предлагат многократно използваем код и функционалност, които могат да бъдат импортирани във всяка програма на Python. Ето няколко примера за няколко Python модула, заедно с кратко описание на всеки:

    математика : Дава на потребителите достъп до математически константи и пи и тригонометрични функции.

    Време за среща : Предоставя класове за по-прост начин за манипулиране на дати, часове и периоди.

    ВИЕ : Позволява взаимодействие с основната операционна система, включително администриране на процеси и дейности на файловата система.

    случаен : Функцията random предлага инструменти за генериране на произволни цели числа и избиране на произволни елементи от списък.

    JSON : JSON е структура от данни, която може да бъде кодирана и декодирана и често се използва в онлайн API и обмен на данни. Този модул позволява работа с JSON.
    Re : Поддържа регулярни изрази, мощен инструмент за търсене и манипулиране на текст.

    Колекции : Предоставя алтернативни структури от данни като сортирани речници, речници по подразбиране и наименувани кортежи.

    NumPy : NumPy е основен инструментариум за научни изчисления, който поддържа числени операции върху масиви и матрици.

    панди : Осигурява структури от данни на високо ниво и операции за работа с времеви редове и други типове структурирани данни.

    Заявки : Предлага прост потребителски интерфейс за уеб API и изпълнява HTTP заявки.

    Python File I/O

    Файловете се използват за съхраняване на данни на компютърен диск. В този урок обясняваме вградения файлов обект на Python. Можем да отворим файл с помощта на скрипт на Python и да извършим различни операции като писане, четене и добавяне. Има различни начини за отваряне на файл. Обяснено ни е със съответния пример. Също така ще се научим да извършваме операции за четене/запис на двоични файлове.

    Системата за вход/изход (I/O) на Python предлага програми за комуникация с файлове, съхранени на диск. Вградените методи на Python за файловия обект ни позволяват да извършваме действия като четене, писане и добавяне на данни към файлове.

    The отворен() метод в Python прави файлов обект при работа с файлове. Името на файла, който трябва да се отвори, и режимът, в който файлът трябва да бъде отворен, са двата параметъра, изисквани от тази функция. Режимът може да се използва според работата, която трябва да се извърши с файла, като например ' r 'за четене', в 'за писане или' а ' за прикачване.

    След успешно създаване на обект могат да се използват различни методи според нашата работа. Ако искаме да пишем във файла, можем да използваме функциите write(), а ако искате да четете и записвате и двете, тогава можем да използваме функцията append() и в случаите, когато искаме да прочетем само съдържанието на файла, който можем да използваме функцията read(). С двоични файлове, съдържащи данни в двоичен, а не текстов формат, също може да се работи с Python. Двоичните файлове се записват по начин, който хората не могат директно да разберат. The rb и wb режимите могат да четат и записват двоични данни в двоични файлове.

    Изключения на Python

    Изключението може да се дефинира като необичайно състояние в програма, което води до прекъсване на потока на програмата.

    Всеки път, когато възникне изключение, програмата спира изпълнението и по този начин другият код не се изпълнява. Следователно изключение са грешките по време на изпълнение, които не могат да се справят със скрипт на Python. Изключение е обект на Python, който представлява грешка.

    Изключения на Python са важен аспект от обработката на грешки в програмирането на Python. Когато една програма срещне неочаквана ситуация или грешка, тя може да предизвика изключение, което може да прекъсне нормалния поток на програмата.

    В Python изключенията се представят като обекти, съдържащи информация за грешката, включително нейния тип и съобщение. Най-често срещаният тип изключение в Python е класът Exception, базов клас за всички други вградени изключения.

    За да обработваме изключения в Python, ние използваме опитвам и с изключение изявления. The опитвам операторът се използва за ограждане на кода, който може да предизвика изключение, докато с изключение изразът се използва за дефиниране на блок от код, който трябва да се изпълни, когато възникне изключение.

    Например, разгледайте следния код:

     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;) 

    Изход:

     Enter a number: 0 Error: Division by zero 

    В този код използваме командата try, за да се опитаме да извършим операция за разделяне. Ако някоя от тези операции предизвика изключение, съвпадащият блок с изключение се изпълнява.

    Python също предоставя много вградени изключения, които могат да бъдат повдигнати в подобни ситуации. Някои често срещани вградени изключения включват IndexError, TypeError , и NameError . Също така можем да дефинираме нашите персонализирани изключения, като създадем нов клас, който наследява класа Exception.

    Python CSV

    CSV означава „стойности, разделени със запетая“, което се дефинира като прост файлов формат, който използва специфично структуриране за подреждане на таблични данни. Той съхранява таблични данни като електронни таблици или бази данни в обикновен текст и има общ формат за обмен на данни. CSV файл се отваря в листа на Excel и данните в редовете и колоните определят стандартния формат.

    Можем да използваме функцията CSV.reader, за да прочетем CSV файл. Тази функция връща обект за четене, който можем да използваме за повторение върху редовете в CSV файла. Всеки ред се връща като списък със стойности, където всяка стойност съответства на колона в CSV файла.

    Например, разгледайте следния код:

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

    Тук отваряме файла data.csv в режим на четене и създаваме a csv.четец обект с помощта на csv.reader() функция. След това итерираме редовете в CSV файла с помощта на for цикъл и отпечатваме всеки ред на конзолата.

    Можем да използваме CSV.writer() функция за запис на данни в CSV файл. Той връща обект за писане, който можем да използваме за запис на редове в CSV файла. Можем да пишем редове, като извикаме писател () метод върху обекта на писателя.

    Например, разгледайте следния код:

     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) 

    В тази програма създаваме списък от списъци, наречени данни, където всеки вътрешен списък представлява ред от данни. След това отваряме файла data.csv в режим на запис и създаваме a CSV.писател обект с помощта на функцията CSV.writer. След това итерираме редовете в данните с помощта на for цикъл и записваме всеки ред в CSV файла с помощта на метода на записване.

    Python изпраща поща

    Можем да изпращаме или четем имейл с помощта на скрипта на Python. Модулите на стандартната библиотека на Python са полезни за работа с различни протоколи като PoP3 и IMAP. Python предоставя smtplib модул за изпращане на имейли чрез SMTP (Simple Mail Transfer Protocol). Ще научим как да изпращаме поща с популярната имейл услуга SMTP от Python скрипт.

    Магически методи на Python

    Магическият метод на Python е специалният метод, който добавя „магия“ към клас. Започва и завършва с двойна долна черта, например _горещо_ или _str_ .

    Вградените класове дефинират много магически методи. The Вие() функция може да се използва, за да видите броя на магическите методи, наследени от клас. Той има два префикса и суфикс долна черта в името на метода.

    • Магическите методи на Python са известни още като dunder методи , съкратено от методите „двойно долно подчертание“, тъй като имената им започват и завършват с двойно долно черта.
    • Магически методи се извикват автоматично от интерпретатора на Python в определени ситуации, като например когато обект е създаден, сравнен с друг обект или отпечатан.
    • Магическите методи могат да се използват за персонализиране на поведението на класовете, като например определяне на начина, по който обектите се сравняват, преобразуват в низове или се осъществява достъп като контейнери.
    • Някои често използвани магически методи включват топлина за инициализиране на обект, str за конвертиране на обект в низ, екв за сравняване на два обекта за равенство и време и setitem за достъп до елементи в контейнерен обект.

    Например, на ул магическият метод може да дефинира как даден обект трябва да бъде представен като низ. Ето един пример

     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) 

    Изход:

     Vikas (22) 

    В този пример методът str е дефиниран да връща форматирано низово представяне на обекта Person с името и възрастта на лицето.

    Друг често използван магически метод е екв , който определя как трябва да се сравняват обектите за равенство. Ето един пример:

     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) 

    Изход:

     False True 

    В този пример, екв методът е дефиниран да връща True, ако два обекта Point имат еднакви координати x и y и False в противен случай.

    Концепции на Python Oops

    Всичко в Python се третира като обект, включително цели числа, плаващи числа, функции, класове и нищо. Освен това, Python поддържа всички ориентирани концепции. По-долу е кратко въведение в концепциите на Oops на Python.

    • Класове и обекти - Класовете на Python са чертежите на обекта. Обектът е колекция от данни и методи, които действат върху данните.
    • Наследство - Наследяването е техника, при която един клас наследява свойствата на други класове.
    • Конструктор - Python предоставя специален метод __init__(), който е известен като конструктор. Този метод се извиква автоматично, когато се инстанцира обект.
    • Член на данните- Променлива, която съдържа данни, свързани с клас и неговите обекти.
    • Полиморфизъм - Полиморфизмът е концепция, при която даден обект може да приеме много форми. В Python полиморфизмът може да бъде постигнат чрез претоварване на метода и отмяна на метода.
    • Претоварване на метода- В Python претоварването на метода се постига чрез аргументи по подразбиране, където методът може да бъде дефиниран с множество параметри. Стойностите по подразбиране се използват, ако някои параметри не са предадени при извикване на метода.
    • Замяна на метода - Замяната на метода е концепция, при която подклас прилага метод, който вече е дефиниран в неговия суперклас.
    • Капсулиране - Капсулирането е опаковане на данни и методи в една единица. В Python капсулирането се постига чрез модификатори за достъп, като public, private и protected. Python обаче не налага стриктно модификатори за достъп и конвенцията за именуване показва нивото на достъп.
    • Абстракция на данни : Техника за скриване на сложността на данните и показване само на основните функции на потребителя. Той предоставя интерфейс за взаимодействие с данните. Абстракцията на данни намалява сложността и прави кода по-модулен, което позволява на разработчиците да се съсредоточат върху основните характеристики на програмата.

    За да прочетете подробно концепцията на Oops, посетете следните ресурси.

    • Концепции на Python Oops - В Python обектно-ориентираната парадигма е да се проектира програмата с помощта на класове и обекти. Обектът е свързан с реални обекти като книга, къща, молив и т.н., а класът определя неговите свойства и поведение.
    • Обекти и класове на Python - В Python обектите са екземпляри на класове, а класовете са чертежи, които определят структурата и поведението на данните.
    • Конструктор на Python - Конструкторът е специален метод в клас, който се използва за инициализиране на атрибутите на обекта, когато обектът е създаден.
    • Наследяване на Python - Наследяването е механизъм, при който нов клас (подклас или дъщерен клас) наследява свойствата и поведението на съществуващ клас (супер клас или родителски клас).
    • Полиморфизъм на Python - Полиморфизмът позволява обекти от различни класове да бъдат третирани като обекти от общ суперклас, позволявайки различни класове да се използват взаимозаменяемо чрез общ интерфейс.

    Предварителни теми за Python

    Python включва много подобрения и полезни концепции, които помагат на програмиста да решава сложни задачи. Тези концепции са дадени по-долу.

    Итератор на Python

    Итераторът е просто обект, който може да бъде повторен. Връща един обект наведнъж. Може да се реализира с помощта на двата специални метода, __iter__() и __следващ__().

    Итераторите в Python са обекти, които позволяват итерация върху колекция от данни. Те обработват всеки елемент от колекцията поотделно, без да зареждат цялата колекция в паметта.

    Например, нека създадем итератор, който връща квадратите на числата до даден лимит:

     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></=>

    В този пример създадохме клас Squares, който действа като итератор чрез имплементиране на методите __iter__() и __next__(). Методът __iter__() връща самия обект, а методът __next__() връща следващия квадрат на числото до достигане на ограничението.

    За да научите повече за итераторите, посетете нашия урок за итератори на Python.

    Python генератори

    Python генератори създайте последователност от стойности използвайки декларация за доходност а не връщане, тъй като те са функции, които връщат итератори. Генераторите прекратяват изпълнението на функцията, като запазват локалното състояние. Продължава точно от мястото, където е спрял, когато се рестартира. Тъй като не се налага да прилагаме протокола на итератора благодарение на тази функция, писането на итератори е по-лесно. Ето илюстрация на проста генераторна функция, която произвежда квадрати от числа:

     # 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) 

    Изход:

     0 1 4 9 16 

    Модификатори на Python

    Декоратори на Python са функции, използвани за модифициране на поведението на друга функция. Те позволяват добавяне на функционалност към съществуваща функция без директно модифициране на нейния код. Декораторите се дефинират с помощта на @ символ, последван от името на функцията декоратор. Те могат да се използват за регистриране, синхронизиране, кеширане и др.

    Ето пример за функция декоратор, която добавя функционалност за синхронизация към друга функция:

     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) 

    Изход:

     

    В горния пример функцията декоратор time_it приема друга функция като аргумент и връща функция за обвивка. Функцията за обвивка изчислява времето за изпълнение на оригиналната функция и я отпечатва на конзолата. Декораторът @time_it се използва за прилагане на функцията time_it към функцията my_function. Когато се извика my_function, декораторът се изпълнява и се добавя функционалността за време.

    Python MySQL

    Python MySQL е мощна система за управление на релационни бази данни. Трябва да настроим средата и да установим връзка, за да използваме MySQL с Python. Можем да създадем нова база данни и таблици с помощта на SQL команди в Python.

    • Настройка на средата : Инсталиране и конфигуриране на MySQL Connector/Python за използване на Python с MySQL.
    • Връзка с база данни : Установяване на връзка между Python и MySQL база данни с помощта на MySQL Connector/Python.
    • Създаване на нова база данни : Създаване на нова база данни в MySQL с помощта на Python.
    • Създаване на таблици : Създаване на таблици в базата данни MySQL с Python с помощта на SQL команди.
    • Операция за вмъкване : Вмъкнете данни в MySQL таблици с помощта на Python и SQL команди.
    • Прочетете Операция : Четене на данни от MySQL таблици с помощта на Python и SQL команди.
    • Операция за актуализиране : Актуализиране на данни в MySQL таблици с помощта на Python и SQL команди.
    • Присъединете се към операцията : Свързване на две или повече таблици в MySQL с помощта на Python и SQL команди.
    • Извършване на транзакции : Изпълнение на група от SQL заявки като единична единица работа в MySQL с помощта на Python.

    Други относителни точки включват обработка на грешки, създаване на индекси и използване на съхранени процедури и функции в MySQL с Python.

    Python MongoDB

    Python MongoDB е популярна NoSQL база данни, която съхранява данни в JSON-подобни документи. Той е без схема и осигурява висока мащабируемост и гъвкавост за съхранение на данни. Можем да използваме MongoDB с Python, използвайки библиотеката PyMongo, която предоставя прост и интуитивен интерфейс за взаимодействие с MongoDB.

    Ето някои често срещани задачи при работа с MongoDB в Python:

    1. Настройка на средата : Инсталирайте и конфигурирайте библиотеката MongoDB и PyMongo на вашата система.
    2. Връзка с база данни : Свържете се към MongoDB сървър, като използвате класа MongoClient от PyMongo.
    3. Създаване на нова база данни : Използвайте обекта MongoClient, за да създадете нова база данни.
    4. Създаване на колекции : Създайте колекции в база данни за съхраняване на документи.
    5. Вмъкване на документи : Вмъкнете нови документи в колекция с помощта на методите insert_one() или insert_many().
    6. Запитване на документи : Извличайте документи от колекция, като използвате различни методи за заявки като find_one(), find() и др.
    7. Актуализиране на документи : Променете съществуващи документи в колекция, като използвате методите update_one() или update_many().
    8. Изтриване на документи : Премахнете документи от колекция с помощта на методите delete_one() или delete_many().
    9. Агрегиране : Извършвайте операции за агрегиране като групиране, преброяване и т.н., като използвате рамката на конвейера за агрегиране.
    10. Индексиране:Подобрете производителността на заявките чрез създаване на индекси на полета в колекции.

    Има много по-сложни теми в MongoDB, като разделяне на данни, репликация и други, но тези задачи обхващат основите на работата с MongoDB в Python.

    Python SQLite

    Релационните бази данни се изграждат и поддържат с помощта на Python SQLite, компактна, безсървърна, самостоятелна база данни. Неговата мобилност и простота го правят популярна опция за локални или малки приложения. Python има вграден модул за свързване към SQLite бази данни, наречен SQLite3, позволяващ на разработчиците да работят с SQLite бази данни без затруднения.

    Чрез библиотеката SQLite3 са достъпни различни API методи, които могат да се използват за изпълнение на SQL заявки, вмъкване, избиране, актуализиране и премахване на данни, както и получаване на данни от таблици. Освен това, той позволява транзакции, което позволява на програмистите да отменят промените в случай на проблем. Python SQLite е фантастична опция за създаване на програми, които се нуждаят от вградена система от бази данни, включително десктоп, мобилни и уеб програми със скромен размер. SQLite стана популярен сред разработчиците за леки приложения с функционалност на бази данни благодарение на своята лекота на използване, преносимост и гладка връзка с Python.

    Python CGI

    Python CGI е технология за изпълнение на скриптове през уеб сървъри за създаване на динамично онлайн съдържание. Той предлага комуникационен канал и динамичен интерфейс за генериране на съдържание за външни CGI скриптове и уеб сървъра. CGI скриптовете на Python могат да създават HTML уеб страници, да обработват въвеждане на формуляр и да комуникират с бази данни. Python CGI позволява на сървъра да изпълнява Python скриптове и да предоставя резултатите на клиента, като предлага бърз и ефективен подход за създаване на динамични онлайн приложения.

    CGI скриптовете на Python могат да се използват за много неща, включително създаване на динамични уеб страници, обработка на формуляри и взаимодействие с бази данни. Тъй като Python, мощен и популярен език за програмиране, може да се използва за създаване на скриптове, той позволява по-персонализиран и гъвкав подход към уеб създаването. Мащабируеми, безопасни и поддържаеми онлайн приложения могат да бъдат създадени с Python CGI. Python CGI е удобен инструмент за уеб разработчици, изграждащи динамични и интерактивни онлайн приложения.

    Асинхронно програмиране в Python

    Асинхронно програмиране е парадигма за компютърно програмиране, която позволява независима и едновременна работа на дейности. Често се използва в приложения като уеб сървъри, софтуер за бази данни и мрежово програмиране, където няколко задачи или заявки трябва да се обработват едновременно.

    Python има asyncio, Twisted и Tornado сред своите библиотеки и рамки за асинхронно програмиране. Asyncio, един от тях, предлага прост интерфейс за асинхронно програмиране и е официалната библиотека за асинхронно програмиране в Python.

    Съпрограмите са функции, които могат да бъдат спрени и рестартирани на определени места в кода и се използват от asyncio. Това позволява на множество съпрограми да работят едновременно, без да си пречат една на друга. За конструиране и поддържане на съпрограмми библиотеката предлага няколко класа и методи, включително asyncio.gather(), asyncio.wait(), и asyncio.create_task().

    Циклите на събитията, които отговарят за планирането и работата на корутините, са друга характеристика на asyncio. Чрез преминаване между съпрограми по неблокиращ начин, цикълът на събития контролира изпълнението на съпрограми и гарантира, че никоя съпрограма не блокира друга. Освен това той поддържа таймери и планиране на обратни извиквания, което може да бъде полезно, когато дейностите трябва да бъдат завършени в определени часове или интервали.

    Паралелност на Python

    Терминът ' едновременност ' описва капацитета на програмата да изпълнява няколко задачи наведнъж, повишавайки ефективността на програмата. Python предлага няколко модула и методи, свързани с паралелността, включително асинхронно програмиране, мултипроцесиране и многонишковост. Докато многопроцесорността включва изпълнение на много процеси едновременно в една система, многонишковостта включва изпълнение на множество нишки едновременно в рамките на един процес.

    The модул за резби в Python позволява на програмистите да изграждат многопоточност. Той предлага класове и операции за установяване и контролиране на нишки. Обратно, мултипроцесорният модул позволява на разработчиците да проектират и контролират процеси. Модулът asyncio на Python осигурява поддръжка за асинхронно програмиране, позволявайки на разработчиците да пишат неблокиращ код, който може да обработва множество задачи едновременно. Използвайки тези техники, разработчиците могат да пишат високопроизводителни, мащабируеми програми, които могат да се справят с множество задачи едновременно.

    Модулът за нишки на Python позволява едновременното изпълнение на няколко нишки в рамките на един процес, което е полезно за I/O-обвързани дейности.

    За операции с интензивно използване на CPU, като обработка на изображения или анализ на данни, мултипроцесорните модули правят възможно изпълнението на множество процеси едновременно в множество CPU ядра.

    Модулът asyncio поддържа асинхронен I/O и позволява създаването на еднопоточен еднопоточен код, използвайки съпрограми за мрежови приложения с висока едновременност.

    С библиотеки като Dask, PySpark , и MPI, Python може също да се използва за паралелни изчисления. Тези библиотеки позволяват натоварванията да бъдат разпределени между множество възли или клъстери за по-добра производителност.

    Уеб скрапиране с помощта на Python

    Процесът на уеб скрапинг се използва за автоматично извличане на данни от уебсайтове. Различни инструменти и библиотеки извличат данни от HTML и други онлайн формати. Python е сред най-широко използваните езици за програмиране за уеб скрапинг поради своята лекота на използване, адаптивност и разнообразие от библиотеки.

    Трябва да предприемем няколко стъпки, за да извършим уеб скрапинг с помощта на Python. Първо трябва да решим кой уебсайт да изчерпим и каква информация да съберем. След това можем да изпратим заявка до уебсайта и да получим HTML съдържанието с помощта на пакета заявки на Python. След като имаме HTML текста, можем да извлечем необходимите данни, като използваме различни пакети за анализ, като Красива супа и lxml .

    Можем да използваме няколко стратегии, като забавяне на заявките, използване на потребителски агенти и използване на проксита, за да предотвратим претоварването на сървъра на уебсайта. Също така е от решаващо значение да спазвате условията за обслужване на уебсайта и да уважавате неговия файл robots.txt.

    Извличане на данни, създаване на потенциални клиенти, проследяване на цените и много други приложения са възможни за уеб скрапинг. Въпреки това, тъй като неразрешеното уеб скрапиране може да е против закона и неетично, от съществено значение е то да се използва професионално и етично.

    Обработка на естествен език (NLP) с помощта на Python

    Клон на изкуствения интелект (AI), наречен „обработка на естествен език“ (NLP), изучава как компютрите и човешкият език си взаимодействат. Благодарение на НЛП компютрите вече могат да разбират, интерпретират и произвеждат човешки език. Благодарение на своята простота, гъвкавост и силни библиотеки като NLTK (Natural Language Toolkit) и spaCy, Python е добре познат език за програмиране за NLP.

    За NLP задачи, включително токенизация, произтичане, лематизация, маркиране на част от речта, идентификация на наименувани обекти, анализ на настроението и други, NLTK предоставя пълна библиотека. Има различни корпуси (големи, организирани текстови колекции) за разработване и оценка на НЛП модели. Друга много харесвана библиотека за NLP задачи е spaCy, която предлага бърза и ефективна обработка на огромни количества текст. Той позволява проста модификация и разширяване и се предлага с предварително обучени модели за различни НЛП работни натоварвания.

    NLP може да се използва в Python за различни практически цели, включително чатботове, анализ на настроението, категоризиране на текст, машинен превод и др. НЛП се използва например от чатботове за разбиране и отговаряне на потребителски запитвания в стил на естествен език. Анализът на настроението, който може да бъде полезен за наблюдение на марката, анализ на отзивите на клиентите и други цели, използва NLP за категоризиране на настроението на текста (положително, отрицателно или неутрално). Текстовите документи се категоризират с помощта на обработка на естествен език (NLP) в предварително установени категории за откриване на спам, категоризиране на новини и други цели.

    Python е силен и полезен инструмент при анализиране и обработка на човешки език. Разработчиците могат да извършват различни NLP дейности и да създават полезни приложения, които могат да комуникират с потребителите на естествен език с библиотеки като NLTK и spaCy.

    Заключение:

    В този урок разгледахме някои от най-важните функции и идеи на Python, включително променливи, типове данни, цикли, функции, модули и др. Обсъдени са и по-сложни теми, включително уеб скрапинг, обработка на естествен език, паралелизъм и връзка с бази данни. Ще имате солидна основа да продължите да учите за Python и неговите приложения, като използвате информацията, която сте научили от този урок.

    img css подравняване

    Не забравяйте, че практикуването и разработването на код е най-добрият метод за изучаване на Python. Може да намерите много ресурси в javaTpoint в подкрепа на вашето по-нататъшно обучение, включително документация, уроци, онлайн групи и др. Можете да овладеете Python и да го използвате, за да създавате чудесни неща, ако работите упорито и постоянствате.

    Предпоставка

    Преди да научите Python, трябва да имате основни познания за програмните концепции.

    Публика

    Нашият урок за Python е предназначен да помогне на начинаещи и професионалисти.

    проблем

    Уверяваме ви, че няма да намерите никакъв проблем в този урок за Python. Но ако има грешка, моля, публикувайте проблема във формата за контакт.