logo

Питхон Туториал | Програмски језик Питхон

Питхон је широко коришћен програмски језик који нуди неколико јединствених карактеристика и предности у поређењу са језицима као што су Јава и Ц++. Наш водич за Питхон детаљно објашњава Питхон основе и напредне концепте, почевши од инсталације, условни искази , петље , уграђене структуре података , објектно оријентисано програмирање , генератори , руковање изузецима , Питхон РегЕк и многи други концепти. Овај водич је дизајниран за почетнике и професионалце који раде.

Крајем 1980-их, Гвидо ван Росум сањао о развоју Питхон-а. Прва верзија од Питхон 0.9.0 је објављен 1991. године . Од свог објављивања, Питхон је почео да добија на популарности. Према извештајима, Питхон је сада најпопуларнији програмски језик међу програмерима због својих високих захтева у области технологије.

Шта је Питхон

Питхон је општи програмски језик, динамички куцан, високог нивоа, компајлиран и интерпретиран, који се сакупља отпадом и чисто објектно оријентисан, који подржава процедурално, објектно оријентисано и функционално програмирање.

Карактеристике Питхон-а:

    Једноставан за коришћење и читање -Питхон-ова синтакса је јасна и лака за читање, што га чини идеалним језиком и за почетнике и за искусне програмере. Ова једноставност може довести до бржег развоја и смањити шансе за грешке.Динамицалли Типед- Типови података променљивих се одређују током времена рада. Не морамо да специфицирамо тип података променљиве током писања кодова.Висок ниво- Језик високог нивоа значи људски читљив код.Састављен и интерпретиран- Питхон код се прво компајлира у бајткод, а затим се тумачи ред по ред. Када преузмемо Питхон у нашем системском облику орг преузимамо подразумевану имплементацију Питхон-а познату као ЦПитхон. ЦПитхон се сматра и усклађеним и интерпретираним.Гарбаге Цоллецтед- Алокација и де-додела меморије се аутоматски управљају. Програмери не морају посебно да управљају меморијом.Чисто објектно оријентисан- Односи се на све као на објекат, укључујући бројеве и низове.Компатибилност на више платформи- Питхон се лако може инсталирати на Виндовс, мацОС и разне Линук дистрибуције, омогућавајући програмерима да креирају софтвер који ради на различитим оперативним системима.Богата стандардна библиотека- Питхон долази са неколико стандардних библиотека које обезбеђују модуле и функције спремне за употребу за различите задатке, почев од веб девелопмент и манипулација података до Машинско учење и умрежавање .Отвореног кода- Питхон је бесплатни програмски језик отвореног кода. Као резултат тога, користи се у неколико сектора и дисциплина.

Питхон има много средства заснована на вебу , пројекти отвореног кода , и жива заједница . Учење језика, заједнички рад на пројектима и допринос Питхон екосистему је све то веома лако за програмере.

Због свог једноставног језичког оквира, Питхон је лакши за разумевање и писање кода. То га чини фантастичним програмским језиком за почетнике. Поред тога, помаже искусним програмерима у писању јасног кода без грешака.

Питхон има много библиотека независних произвођача које се могу користити да олакшају његову функционалност. Ове библиотеке покривају многе домене, на пример, развој веба, научно рачунарство, анализу података и још много тога.

Јава против Питхон-а

Питхон је одличан избор за брз развој и задатке скриптирања. Док Јава наглашава јак систем типова и објектно оријентисано програмирање.

Ево неколико основних програма који илуструју кључне разлике између њих.

Штампање „Здраво свете“

Питхон код:

 print('Hello World)' 

У Питхон-у, то је једна линија кода. Потребна је једноставна синтакса за штампање „Хелло Ворлд“

Јава код:

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

У Јави морамо декларисати класе, структуре метода и многе друге ствари.

Иако оба програма дају исти излаз, можемо приметити разлику у синтакси у изјави за штампање.

линеарна претрага у Јави
  • У Питхон-у је лако научити и написати код. Док је у Јави, потребно је више кода за обављање одређених задатака.
  • Питхон је динамички откуцан, што значи да не морамо да декларишемо променљиву, док је Јава статистички откуцана, што значи да треба да декларишемо тип променљиве.
  • Питхон је погодан за различите домене као што су наука о подацима, машинско учење, веб развој и још много тога. Док је Јава погодна за веб развој, развој мобилних апликација (Андроид) и још много тога.

Питхон основна синтакса

У програмском језику Питхон нема употребе витичастих заграда или тачака и зареза. То је језик сличан енглеском. Али Питхон користи увлачење да би дефинисао блок кода. Увлачење није ништа друго до додавање размака испред изјаве када је то потребно.

На пример -

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

У горњем примеру, искази који су на истом нивоу десно припадају функцији. Генерално, можемо користити четири размака да дефинишемо увлачење.

Уместо тачке и зарезе како се користи у другим језицима, Питхон завршава своје наредбе знаком НевЛине.

Питхон је језик који разликује велика и мала слова, што значи да се велика и мала слова различито третирају. На пример, 'име' и 'Наме' су две различите променљиве у Питхон-у.

У Питхон-у, коментари се могу додати помоћу симбола '#'. Сваки текст написан после симбола '#' сматра се коментаром и тумач га игнорише. Овај трик је користан за додавање белешки у код или за привремено онемогућавање блока кода. Такође помаже у бољем разумевању кода од стране неких других програмера.

'Ако' , 'иначе', 'за' , 'док' , 'покушај', 'осим' и 'коначно' су неколико резервисаних кључних речи у Питхон-у које се не могу користити као имена променљивих. Ови термини се користе у језику из одређених разлога и имају фиксно значење. Ако користите ове кључне речи, ваш код може да садржи грешке или их тумач може одбацити као потенцијалне нове променљиве.

Историја Пајтона

Питхон је креирао Гвидо ван Росум . Крајем 1980-их, Гвидо ван Росум, холандски програмер, почео је да ради на Питхон-у док је био у Центрум Вискунде & Информатица (ЦВИ) у Холандији. Желео је да створи наследника АБЦ програмски језик то би било лако за читање и ефикасно.

У фебруару 1991. објављена је прва јавна верзија Пајтона, верзија 0.9.0. Ово је обележило званично рођење Питхон као пројекат отвореног кода . Језик је добио име по британској хумористичној серији ' Летећи циркус Монтија Пајтона '.

Развој Питхон-а прошао је кроз неколико фаза. Јануара 1994, Питхон 1.0 је објављен као употребљив и стабилан програмски језик. Ова верзија је укључивала многе функције које су и данас присутне у Питхон-у.

Од 1990-их до 2000-их , Питхон је стекао популарност због своје једноставности, читљивости и свестраности. У октобру 2000. изашао је Питхон 2.0 . Питхон 2.0 је увео разумевање листе, сакупљање смећа и подршку за Уницоде.

У децембру 2008. изашао је Питхон 3.0. Питхон 3.0 је увео неколико измена које нису компатибилне са претходним верзијама да би побољшао читљивост кода и могућност одржавања.

Током 2010-их, популарност Питхона је порасла, посебно у областима као што су машинско учење и развој веба. Његов богат екосистем библиотека и оквира учинио га је омиљеним међу програмерима.

Тхе Питхон Софтваре Фоундатион (ПСФ) основана је 2001. године да промовише, заштити и унапреди програмски језик Питхон и његову заједницу.

Зашто научити Питхон?

Питхон пружа многе корисне функције програмеру. Ове карактеристике га чине најпопуларнијим и најчешће коришћеним језиком. У наставку смо навели неколико битних карактеристика Питхона.

    Једноставан за коришћење и учење:Питхон има једноставну и лако разумљиву синтаксу, за разлику од традиционалних језика као што су Ц, Ц++, Јава, итд., што почетницима олакшава учење.Изражајни језик:Омогућава програмерима да изразе сложене концепте у само неколико редова кода или скраћује време програмера.Преведени језик:Питхон не захтева компилацију, што омогућава брз развој и тестирање. Користи тумач уместо компајлера.
  • Објектно-оријентисани језик : Подржава објектно оријентисано програмирање, чинећи писање модуларног кода за вишекратну употребу.
  • Отвореног кода Језик: Питхон је отвореног кода и бесплатан је за коришћење, дистрибуцију и модификацију.Прошириво:Питхон се може проширити модулима написаним на Ц, Ц++ или другим језицима.Научите стандардну библиотеку:Питхон-ова стандардна библиотека садржи много модула и функција које се могу користити за различите задатке, као што су манипулација стринговима, веб програмирање и још много тога.Подршка за ГУИ програмирање:Питхон обезбеђује неколико ГУИ оквира, као што су Ткинтер и ПиКт , омогућавајући програмерима да лако креирају десктоп апликације.Интегрисано:Питхон може лако да се интегрише са другим језицима и технологијама, као што су Ц/Ц++, Јава и . НЕТ.Уградиво:Питхон код се може уградити у друге апликације као скриптни језик.Динамичка алокација меморије:Питхон аутоматски управља алокацијом меморије, олакшавајући програмерима да пишу сложене програме без бриге о управљању меморијом.Широк спектар библиотека и оквира:Питхон има огромну колекцију библиотека и оквира, као што су НумПи, Пандас, Дјанго и Фласк, који се могу користити за решавање широког спектра проблема.Свестраност:Питхон је универзални језик у различитим доменима као што су веб развој, машинско учење, наука о подацима, вештачка интелигенција, развој веба и још много тога.Велика потражња:Са растућом потражњом за аутоматизацијом и дигиталном трансформацијом, потреба за Питхон програмерима расте. Многе индустрије траже квалификоване Питхон програмере да помогну у изградњи своје дигиталне инфраструктуре.Повећана продуктивност:Питхон има једноставну синтаксу и моћне библиотеке које могу помоћи програмерима да пишу код брже и ефикасније. Ово може повећати продуктивност и уштедети време програмерима и организацијама.Велики подаци и машинско учење:Питхон је постао основни језик за велике податке и машинско учење. Питхон је постао популаран међу научницима података и инжењерима машинског учења са библиотекама као што су НумПи, Пандас, Сцикит-леарн, ТенсорФлов и још много тога.

Где се користи Питхон?

Питхон је популаран програмски језик опште намене и користи се у скоро свим техничким областима. Различите области употребе Питхон-а су наведене у наставку.

    Наука о подацима:Наука о подацима је огромно поље, а Питхон је важан језик за ову област због своје једноставности, лакоће коришћења и доступности моћних библиотека за анализу података и визуелизацију као што су НумПи, Пандас и Матплотлиб.Десктоп апликације:ПиКт анд Ткинтер су корисне библиотеке које се могу користити у ГУИ - десктоп апликацијама заснованим на графичком корисничком интерфејсу. Постоје бољи језици за ову област, али се може користити са другим језицима за израду апликација.Апликације засноване на конзоли:Питхон се такође обично користи за креирање апликација заснованих на командној линији или конзоли због његове лакоће коришћења и подршке за напредне функције као што су преусмеравање улаза/излаза и цеви.Мобилне апликације:Иако се Питхон обично не користи за креирање мобилних апликација, ипак се може комбиновати са оквирима као што су Киви или БееВаре за креирање мобилних апликација на више платформи.Развој софтвера:Питхон се сматра једним од најбољих језика за прављење софтвера. Питхон је лако компатибилан са оба софтвера од малих до великих.
  • Вештачка интелигенција : АИ је технологија у настајању, а Питхон је савршен језик за вештачку интелигенцију и машинско учење због доступности моћних библиотека као што су ТенсорФлов, Керас и ПиТорцх.
  • Веб апликације:Питхон се обично користи у веб развоју на позадини са оквирима као што су Дјанго и Фласк и на предњем делу са алаткама као што су ЈаваСцрипт ХТМЛ и ЦСС.Ентерприсе апликације:Питхон се може користити за развој великих пословних апликација са карактеристикама као што су дистрибуирано рачунарство, умрежавање и паралелна обрада.3Д ЦАД апликације:Питхон се може користити за апликације 3Д компјутерског дизајна (ЦАД) преко библиотека као што је Блендер.Машинско учење:Питхон се широко користи за машинско учење због своје једноставности, лакоће коришћења и доступности моћних библиотека за машинско учење.Апликације за компјутерски вид или обраду слике:Питхон се може користити за компјутерски вид и апликације за обраду слика преко моћних библиотека као што су ОпенЦВ и Сцикит-имаге.Препознавање говора:Питхон се може користити за апликације за препознавање говора преко библиотека као што су СпеецхРецогнитион и ПиАудио.Научно рачунарство:Библиотеке као што су НумПи, СциПи и Пандас пружају напредне нумеричке рачунарске могућности за задатке као што су анализа података, машинско учење и још много тога.Образовање:Питхон-ова синтакса лака за учење и доступност многих ресурса чине га идеалним језиком за подучавање програмирања почетницима.тестирање:Питхон се користи за писање аутоматизованих тестова, пружајући оквире као што су тестови јединица и питест који помажу у писању тест случајева и генерисању извештаја.Играње:Питхон има библиотеке као што је Пигаме, које пружају платформу за развој игара помоћу Питхон-а.Интернет ствари:Питхон се користи у Интернету ствари за развој скрипти и апликација за уређаје као што су Распберри Пи, Ардуино и други.умрежавање:Питхон се користи у умрежавању за развој скрипти и апликација за аутоматизацију мреже, надгледање и управљање.
  • ДевОпс : Питхон се широко користи у ДевОпс-у за аутоматизацију и скриптовање управљања инфраструктуром, управљања конфигурацијом и процеса имплементације.
  • финансије:Питхон има библиотеке као што су Пандас, Сцикит-леарн и Статсмоделс за финансијско моделирање и анализу.Аудио и музика:Питхон има библиотеке попут Пиаудио, који се користи за аудио обраду, синтезу и анализу, и Мусиц21, који се користи за анализу и генерисање музике.Писање скрипти:Питхон се користи за писање услужних скрипти за аутоматизацију задатака као што су операције са датотекама, веб сцрапинг и Питхон популарни оквири и библиотеке

    Питхон има широк спектар библиотека и оквира који се широко користе у различитим областима као што су машинско учење, вештачка интелигенција, веб апликације, итд. Неке популарне оквире и библиотеке Питхон-а дефинишемо на следећи начин.

    Функција Питхон принт().

    Функција Питхон принт() се користи за приказ излаза на конзоли или терминалу. Омогућава нам да прикажемо текст, варијабле и друге податке у људском читљивом формату.

    Синтакса:

    принт(објекат(и), сеп=сепаратор, енд=енд, филе=филе, флусх=флусх)

    Узима један или више аргумената одвојених зарезом(,) и подразумевано додаје 'нови ред' на крају.

    Параметри:

    • објект(и) – онолико колико желите података да се прикаже, прво ће бити конвертовано у стринг и одштампано на конзоли.
    • сеп - Одваја објекте проследјеним сепаратором, подразумевана вредност = ' '.
    • крај - Завршава ред знаком новог реда
    • фајл - објекат датотеке са методом писања, подразумевана вредност = сис.стдоут

    Пример:

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

    У овом примеру, наредба за штампање се користи за штампање стрингова, целобројних и флоат вредности у људском читљивом формату.

    Изјава за штампање се може користити за отклањање грешака, евидентирање и за пружање информација кориснику.

    Питхон условне изјаве

    Условне изјаве нам помажу да извршимо одређени блок за одређени услов. У овом водичу ћемо научити како да користимо условни израз за извршавање другог блока исказа. Питхон обезбеђује кључне речи иф и елсе за постављање логичких услова. Тхе Елиф кључна реч се такође користи као условни исказ.

    Пример кода за иф..елсе изјаву

     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 

    У горњем коду имамо две променљиве, к и и, са 10 и 5, респективно. Затим смо користили иф..елсе наредбу да проверимо да ли је к веће од и или обрнуто. Ако је први услов тачан, исписује се изјава 'к је веће од и'. Ако је први услов нетачан, уместо њега се штампа изјава „и је веће или једнако к“.

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

    О томе ћемо детаљније сазнати у даљем чланку за Питхон туторијал.

    Питхон петље

    Понекад ћемо можда морати да променимо ток програма. Извршавање одређеног кода ће можда морати да се понови неколико пута. У ту сврху, програмски језици обезбеђују различите петље које могу да понове одређени код неколико пута. Размотрите следећи водич да бисте детаљно разумели изјаве.

    Питхон за петљу

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

    Излаз:

     apple banana cherry 

    Питхон Вхиле Лооп

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

    У горњем примеру кода, демонстрирали смо коришћење две врсте петљи у Питхон-у - петљу Фор и петљу Вхиле.

    Петља Фор се користи за понављање низа ставки, као што су листа, тупле или стринг. У примеру смо дефинисали листу воћа и користили фор петљу за штампање сваког воћа, али се такође може користити за штампање опсега бројева.

    Док петља понавља блок кода ако је наведени услов тачан. У примеру, ми смо иницијализовали променљиву и на 1 и користили вхиле петљу да испишемо вредност и све док не постане већа или једнака 6. Наредба и += 1 се користи за повећање вредности и у свакој итерацији .

    Детаљно ћемо научити о њима у туторијалу.

    Питхон структуре података

    Питхон нуди четири уграђене структуре података: листе , туплес , сетови , и речници који нам омогућавају да чувамо податке на ефикасан начин. Испод су најчешће коришћене структуре података у Питхон-у, заједно са примером кода:

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

    Ово је само неколико примера Питхон-ових уграђених структура података. Свака структура података има своје карактеристике и случајеве употребе.

    Питхон функционално програмирање

    Овај одељак Питхон упутства дефинише неке важне алате везане за функционално програмирање, као што су ламбда и рекурзивне функције. Ове функције су веома ефикасне у извршавању сложених задатака. Дефинишемо неколико важних функција, као што су смањење, мапирање и филтрирање. Питхон обезбеђује модул фунцтоолс који укључује различите алате за функционално програмирање. Посетите следећи водич да бисте сазнали више о функционалном програмирању.

    Недавне верзије Питхон-а увеле су функције које функционално програмирање чине концизнијим и изражајнијим. На пример, 'мож оператор':= омогућава додељивање инлине променљивих у изразима, што може бити корисно када радите са угнежђеним позивима функција или разумевања листе.

    Питхон функција

    1. Ламбда функција - Ламбда функција је мала, анонимна функција који може узети било који број аргумената, али може имати само један израз. Ламбда функције се често користе у функционалном програмирању за креирање функција „у ходу“ без дефинисања именоване функције.
    2. Рекурзивна функција - Рекурзивна функција је функција која сама себе позива да реши проблем. Рекурзивне функције се често користе у функционалном програмирању за обављање сложених прорачуна или за прелазак сложених структура података.
    3. Функција карте - Функција мап() примењује дату функцију на сваку ставку итерабле и враћа нови итерабле са резултатима. Инпут итерабле може бити листа, тупле или други.
    4. Функција филтера - Функција филтер() враћа итератор из итерабле за који функција прослеђена као први аргумент враћа Тачно. Филтрира ставке из итерабле које не испуњавају дати услов.
    5. Редуце Фунцтион - Функција редуцира () примењује функцију од два аргумента кумулативно на ставке итерабле са лева на десно да би је свела на једну вредност.
    6. Фунцтоолс Модуле - Модул фунцтоолс у Питхон-у обезбеђује функције вишег реда које раде на другим функцијама, као што су партиал() и редуце().
    7. Функција цурриинга - Функција цурриинга је функција која узима више аргумената и враћа низ функција од којих свака узима један аргумент.
    8. Функција меморисања - Мемоизација је техника која се користи у функционалном програмирању за кеширање резултата скупих позива функција и враћање кешираних резултата када се исти уноси поново појаве.
    9. Тхреадинг Функција - Тхреадинг је техника која се користи у функционалном програмирању за покретање више задатака истовремено како би код био ефикаснији и бржи.

    Питхон модули

    Питхон модули су програмске датотеке које садрже Питхон код или функције. Питхон има две врсте модула – модуле које дефинише корисник и уграђене модуле. Модул који корисник дефинише, или наш Питхон код сачуван са екстензијом .пи, третира се као модул који дефинише корисник.

    Уграђени модули су унапред дефинисани модули Питхон-а. Да бисмо користили функционалност модула, потребно је да их увеземо у наш тренутни радни програм.

    Питхон модули су од суштинског значаја за екосистем језика јер нуде код за вишекратну употребу и функционалност која се може увести у било који Питхон програм. Ево неколико примера неколико Питхон модула, заједно са кратким описом сваког од њих:

    Матх : Омогућава корисницима приступ математичким константама и пи и тригонометријским функцијама.

    Датум време : Обезбеђује часове за једноставнији начин манипулисања датумима, временима и тачкама.

    ТИ : Омогућава интеракцију са основним оперативним системом, укључујући администрацију процеса и активности система датотека.

    насумично : Функција рандом нуди алате за генерисање насумичних целих бројева и бирање случајних ставки са листе.

    ЈСОН : ЈСОН је структура података која се може кодирати и декодирати и често се користи у онлајн АПИ-јима и размени података. Овај модул омогућава рад са ЈСОН-ом.
    Ре : Подржава регуларне изразе, моћан алат за претрагу и манипулацију текстом.

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

    НумПи : НумПи је основни алат за научно рачунарство који подржава нумеричке операције на низовима и матрицама.

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

    Захтеви : Нуди једноставан кориснички интерфејс за веб АПИ-је и извршава ХТТП захтеве.

    Питхон Филе И/О

    Датотеке се користе за чување података на диску рачунара. У овом водичу објашњавамо уграђени фајл објекат Питхон-а. Можемо отворити датотеку користећи Питхон скрипту и изводити различите операције као што су писање, читање и додавање. Постоје различити начини отварања датотеке. Објашњени смо релевантним примером. Такође ћемо научити да изводимо операције читања/писања на бинарне датотеке.

    Питхон-ов систем за унос/излаз (И/О). нуди програме за комуникацију са датотекама ускладиштеним на диску. Питхон-ове уграђене методе за фајл објекат нам омогућавају да извршимо радње као што су читање, писање и додавање података датотекама.

    Тхе опен() метода у Питхон-у прави објекат датотеке када радите са датотекама. Назив датотеке која се отвара и начин на који се датотека отвара су два параметра која захтева ова функција. Режим се може користити у складу са послом који треба да се обави са датотеком, као што је ' р 'за читање,' Ин 'за писање, или' а ' за прилагање.

    Након успешног креирања објекта, могу се користити различите методе према нашем раду. Ако желимо да пишемо у датотеку, можемо да користимо функције врите(), а ако желите да читате и пишете обе, онда можемо да користимо функцију аппенд() и, у случајевима када желимо само да прочитамо садржај датотеку коју можемо користити функцију реад(). Бинарне датотеке које садрже податке у бинарном, а не у текстуалном формату такође могу да се раде са Питхон-ом. Бинарне датотеке су написане на начин који људи не могу директно да разумеју. Тхе рб и вб режими могу читати и писати бинарне податке у бинарне датотеке.

    Питхон изузеци

    Изузетак се може дефинисати као неуобичајено стање у програму које доводи до прекида у току програма.

    Кад год дође до изузетка, програм зауставља извршење, па се други код не извршава. Стога, изузетак су грешке у току извршавања које не могу да обрађују у Питхон скрипти. Изузетак је Питхон објекат који представља грешку.

    Питхон изузеци су важан аспект руковања грешкама у Питхон програмирању. Када програм наиђе на неочекивану ситуацију или грешку, може изазвати изузетак, који може да прекине нормалан ток програма.

    У Питхон-у, изузеци су представљени као објекти који садрже информације о грешци, укључујући њен тип и поруку. Најчешћи тип изузетка у Питхон-у је класа Екцептион, основна класа за све друге уграђене изузетке.

    За обраду изузетака у Питхон-у користимо покушати и осим изјаве. Тхе покушати израз се користи за затварање кода који може изазвати изузетак, док је осим израз се користи за дефинисање блока кода који треба да се изврши када дође до изузетка.

    На пример, размотрите следећи код:

     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 

    У овом коду користимо наредбу три да покушамо да извршимо операцију дељења. Ако било која од ових операција изазове изузетак, извршава се одговарајући блок осим.

    Питхон такође пружа многе уграђене изузетке који се могу покренути у сличним ситуацијама. Неки уобичајени уграђени изузеци укључују ИндекЕррор, ТипеЕррор , и НамеЕррор . Такође, можемо дефинисати наше прилагођене изузетке креирањем нове класе која наслеђује класу Екцептион.

    Питхон ЦСВ

    ЦСВ је скраћеница за 'вредности одвојене зарезима', што је дефинисано као једноставан формат датотеке који користи специфично структурирање за сређивање табеларних података. Он складишти табеларне податке као што су табеле или базе података у обичном тексту и има заједнички формат за размену података. ЦСВ датотека се отвара у Екцел листу, а подаци о редовима и колонама дефинишу стандардни формат.

    конверзија стринга у цео број у Јави

    Можемо користити функцију ЦСВ.реадер за читање ЦСВ датотеке. Ова функција враћа објекат читача који можемо да користимо за понављање преко редова у ЦСВ датотеци. Сваки ред се враћа као листа вредности, где свака вредност одговара колони у ЦСВ датотеци.

    На пример, размотрите следећи код:

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

    Овде отварамо датотеку дата.цсв у режиму читања и креирамо а цсв.реадер објекат користећи цсв.реадер() функција. Затим прелазимо преко редова у ЦСВ датотеци користећи фор петљу и штампамо сваки ред на конзоли.

    Можемо користити ЦСВ.писац() функција за писање података у ЦСВ датотеку. Враћа објекат за писање који можемо да користимо за писање редова у ЦСВ датотеку. Можемо писати редове позивањем писац () метода на објекту писца.

    На пример, размотрите следећи код:

     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) 

    У овом програму креирамо листу листа под називом подаци, где свака унутрашња листа представља ред података. Затим отварамо датотеку дата.цсв у режиму писања и креирамо а ЦСВ.вритер објекат помоћу функције ЦСВ.вритер. Затим прелазимо преко редова у подацима користећи фор петљу и сваки ред уписујемо у ЦСВ датотеку користећи метод писача.

    Питхон шаље пошту

    Можемо да шаљемо или читамо пошту користећи Питхон скрипту. Питхон-ови стандардни библиотечки модули су корисни за руковање различитим протоколима као што су ПоП3 и ИМАП. Питхон обезбеђује смтплиб модул за слање е-поште користећи СМТП (Симпле Маил Трансфер Протоцол). Научићемо како да шаљемо пошту помоћу популарне услуге е-поште СМТП из Питхон скрипте.

    Питхон магичне методе

    Питхон магијски метод је посебан метод који додаје 'магију' класи. Почиње и завршава се двоструком доњом цртом, нпр. _вруће_ или _стр_ .

    Уграђене класе дефинишу многе магијске методе. Тхе ти() функција се може користити да се види број магијских метода које је наследила класа. Има два префикса и доње црте суфикса у називу методе.

    • Питхон магијске методе су такође познате као дундер методе , скраћеница за методе „двоструке доње црте“ јер њихова имена почињу и завршавају се двоструком доњом цртом.
    • Магичне методе се аутоматски позивају од стране Питхон тумача у одређеним ситуацијама, као што је када се објекат креира, упореди са другим објектом или штампа.
    • Магичне методе се могу користити за прилагођавање понашања класа, као што је дефинисање начина на који се објекти пореде, претварају у низове или им се приступа као контејнерима.
    • Неке најчешће коришћене магијске методе укључују топлота за иницијализацију објекта, стр за претварање објекта у стринг, екв за поређење два објекта за једнакост, и насловљен и сетитем за приступ ставкама у објекту контејнера.

    На пример, тхе стр магијски метод може да дефинише како објекат треба да буде представљен као стринг. Ево примера

     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) 

    У овом примеру, метод стр је дефинисан да врати форматирану стринг репрезентацију објекта Персон са именом и узрастом особе.

    Још један често коришћени магијски метод је екв , који дефинише како објекте треба упоредити ради једнакости. Ево примера:

     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 

    У овом примеру, екв метода је дефинисана да враћа Тачно ако два Поинт објекта имају исте к и и координате и Фалсе у супротном.

    Питхон Упс концепти

    Све у Питхон-у се третира као објекат, укључујући целобројне вредности, плутајуће вредности, функције, класе и ништа. Осим тога, Питхон подржава све оријентисане концепте. Испод је кратак увод у Упс концепте Питхона.

    • Класе и објекти - Питхон класе су нацрти објекта. Објекат је скуп података и метода које делују на податке.
    • Наслеђе - Наслеђивање је техника где једна класа наслеђује својства других класа.
    • Цонструцтор - Питхон обезбеђује посебан метод __инит__() који је познат као конструктор. Овај метод се аутоматски позива када се инстанцира објекат.
    • Дата Мембер- Променљива која садржи податке повезане са класом и њеним објектима.
    • Полиморфизам - Полиморфизам је концепт где објекат може имати различите облике. У Питхон-у, полиморфизам се може постићи преко преоптерећења метода и заобилажења метода.
    • Преоптерећење метода- У Питхон-у, преоптерећење метода се постиже преко подразумеваних аргумената, где се метода може дефинисати са више параметара. Подразумеване вредности се користе ако се неки параметри не проследе током позивања методе.
    • Метход Оверридинг - Прејашњење метода је концепт где поткласа имплементира метод који је већ дефинисан у својој суперкласи.
    • Енкапсулација - Енкапсулација је умотавање података и метода у једну целину. У Питхон-у, енкапсулација се постиже помоћу модификатора приступа, као што су јавни, приватни и заштићени. Међутим, Питхон не примењује стриктно модификаторе приступа, а конвенција о именовању указује на ниво приступа.
    • Апстракција података : Техника за сакривање сложености података и приказивање само битних карактеристика кориснику. Пружа интерфејс за интеракцију са подацима. Апстракција података смањује сложеност и чини код модуларнијим, омогућавајући програмерима да се фокусирају на основне карактеристике програма.

    Да бисте детаљно прочитали Упс концепт, посетите следеће ресурсе.

    • Питхон Упс концепти – У Питхон-у, објектно оријентисана парадигма је дизајнирање програма коришћењем класа и објеката. Објекат је повезан са стварним ентитетима као што су књига, кућа, оловка, итд. и класа дефинише његова својства и понашања.
    • Питхон објекти и класе - У Питхон-у, објекти су инстанце класа, а класе су нацрти који дефинишу структуру и понашање података.
    • Питхон Цонструцтор - Конструктор је посебна метода у класи која се користи за иницијализацију атрибута објекта када се објекат креира.
    • Питхон Инхеританце - Наслеђивање је механизам у коме нова класа (подкласа или подређена класа) наслеђује својства и понашања постојеће класе (супер класа или родитељска класа).
    • Питхон полиморфизам – полиморфизам омогућава да се објекти различитих класа третирају као објекти заједничке суперкласе, омогућавајући да се различите класе користе наизменично кроз заједнички интерфејс.

    Питхон Адванце теме

    Питхон укључује многе напретке и корисне концепте који помажу програмеру да реши сложене задатке. Ови концепти су дати у наставку.

    Питхон Итератор

    Итератор је једноставно објекат који се може поновити. Враћа један по један објекат. Може се применити помоћу две посебне методе, __итер__() и __следеће__().

    Итератори у Питхон-у су објекти који дозвољавају понављање преко колекције података. Они појединачно обрађују сваки елемент колекције без учитавања целе колекције у меморију.

    На пример, хајде да направимо итератор који враћа квадрате бројева до датог ограничења:

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

    У овом примеру смо креирали класу Скуарес која делује као итератор имплементацијом метода __итер__() и __нект__(). Метода __итер__() враћа сам објекат, а __нект__() метода враћа следећи квадрат броја док се не достигне ограничење.

    Да бисте сазнали више о итераторима, посетите наш водич за Питхон итераторе.

    Питхон генератори

    Питхон генератори произвести низ вредности користећи изјаву о приносу а не повратак пошто су то функције које враћају итераторе. Генератори прекидају извршавање функције задржавајући локално стање. Поставља се тамо где је стао када се поново покрене. Пошто не морамо да имплементирамо протокол итератора захваљујући овој особини, писање итератора је поједностављено. Ево илустрације једноставне функције генератора која производи квадрате бројева:

     # 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 

    Питхон модификатори

    Питхон Децораторс су функције које се користе за модификацију понашања друге функције. Они омогућавају додавање функционалности постојећој функцији без директног модификовања њеног кода. Декоратори се дефинишу помоћу @ симбол праћен именом функције декоратера. Могу се користити за евидентирање, мерење времена, кеширање итд.

    Ево примера функције декоратера која додаје функцију времена другој функцији:

     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) 

    Излаз:

     

    У горњем примеру, функција декоратора тиме_ит узима другу функцију као аргумент и враћа функцију омотача. Функција омота израчунава време за извршавање оригиналне функције и штампа је на конзоли. Декоратор @тиме_ит се користи за примену функције тиме_ит на функцију ми_фунцтион. Када се позове ми_фунцтион, извршава се декоратер и додаје се функција мерења времена.

    Питхон МиСКЛ

    Питхон МиСКЛ је моћан систем за управљање релационим базама података. Морамо да подесимо окружење и успоставимо везу да бисмо користили МиСКЛ са Питхон-ом. Можемо да креирамо нову базу података и табеле користећи СКЛ команде у Питхон-у.

    • Енвиронмент Сетуп : Инсталирање и конфигурисање МиСКЛ конектора/Питхон-а за коришћење Питхон-а са МиСКЛ-ом.
    • Веза са базом података : Успостављање везе између Питхон-а и МиСКЛ базе података користећи МиСКЛ Цоннецтор/Питхон.
    • Креирање нове базе података : Креирање нове базе података у МиСКЛ користећи Питхон.
    • Креирање табела : Креирање табела у МиСКЛ бази података помоћу Питхон-а помоћу СКЛ команди.
    • Операција уметања : Убаците податке у МиСКЛ табеле користећи Питхон и СКЛ команде.
    • Прочитајте операцију : Читање података из МиСКЛ табела помоћу Питхон и СКЛ команди.
    • Операција ажурирања : Ажурирање података у МиСКЛ табелама помоћу Питхон и СКЛ команди.
    • Придружите се операцији : Спајање две или више табела у МиСКЛ помоћу Питхон и СКЛ команди.
    • Извођење трансакција : Извођење групе СКЛ упита као јединствене јединице рада у МиСКЛ-у користећи Питхон.

    Остале релативне тачке укључују руковање грешкама, креирање индекса и коришћење ускладиштених процедура и функција у МиСКЛ-у са Питхон-ом.

    Питхон МонгоДБ

    Питхон МонгоДБ је популарна НоСКЛ база података која чува податке у документима сличним ЈСОН-у. Он је без шеме и пружа високу скалабилност и флексибилност за складиштење података. Можемо користити МонгоДБ са Питхон-ом користећи ПиМонго библиотеку, која пружа једноставан и интуитиван интерфејс за интеракцију са МонгоДБ-ом.

    Ево неких уобичајених задатака када радите са МонгоДБ у Питхон-у:

    1. Енвиронмент Сетуп : Инсталирајте и конфигуришите МонгоДБ и ПиМонго библиотеку на вашем систему.
    2. Веза са базом података : Повежите се са МонгоДБ сервером користећи класу МонгоЦлиент из ПиМонго.
    3. Креирање нове базе података : Користите објекат МонгоЦлиент за креирање нове базе података.
    4. Креирање колекција : Креирајте колекције у бази података за складиштење докумената.
    5. Убацивање докумената : Уметните нове документе у колекцију користећи методе инсерт_оне() или инсерт_мани().
    6. Упит за документе : Преузми документе из колекције користећи различите методе упита као што су финд_оне(), финд() итд.
    7. Ажурирање докумената : Измените постојеће документе у колекцији користећи методе упдате_оне() или упдате_мани().
    8. Брисање докумената : Уклоните документе из колекције користећи методе делете_оне() или делете_мани().
    9. Агрегација : Извршите операције агрегације као што су груписање, бројање, итд., користећи оквир цевовода агрегације.
    10. Индексирање:Побољшајте перформансе упита креирањем индекса на пољима у колекцијама.

    Постоји много напреднијих тема у МонгоДБ-у, као што су дељење података, репликација и још много тога, али ови задаци покривају основе рада са МонгоДБ-ом у Питхон-у.

    Питхон СКЛите

    Релационе базе података се граде и одржавају помоћу Питхон СКЛите-а, компактног, самосталног механизма базе података без сервера. Његова мобилност и једноставност чине га популарном опцијом за локалне или мале апликације. Питхон има уграђени модул за повезивање са СКЛите базама података под називом СКЛите3, омогућавајући програмерима да раде са СКЛите базама података без потешкоћа.

    Кроз СКЛите3 библиотеку доступне су различите методе АПИ-ја које се могу користити за покретање СКЛ упита, уметање, одабир, ажурирање и уклањање података, као и за добијање података из табела. Поред тога, омогућава трансакције, омогућавајући програмерима да пониште промене у случају проблема. Питхон СКЛите је фантастична опција за креирање програма којима је потребан уграђени систем базе података, укључујући десктоп, мобилне и веб програме скромне величине. СКЛите је постао популаран међу програмерима за лагане апликације са функционалношћу базе података захваљујући једноставности коришћења, преносивости и глаткој вези са Питхон-ом.

    Питхон ЦГИ

    Питхон ЦГИ је технологија за покретање скрипти преко веб сервера за производњу динамичког онлајн садржаја. Нуди комуникациони канал и интерфејс за генерисање динамичког садржаја за екстерне ЦГИ скрипте и веб сервер. Питхон ЦГИ скрипте могу креирати ХТМЛ веб странице, руковати уносом обрасца и комуницирати са базама података. Питхон ЦГИ омогућава серверу да извршава Питхон скрипте и пружи резултате клијенту, нудећи брз и ефикасан приступ креирању динамичких онлајн апликација.

    Питхон ЦГИ скрипте се могу користити за многе ствари, укључујући креирање динамичких веб страница, обраду образаца и интеракцију са базама података. Пошто се Питхон, моћан и популаран програмски језик, може користити за креирање скрипти, он омогућава прилагођенији и флексибилнији приступ креирању веба. Скалабилне, безбедне и одржаване онлајн апликације се могу креирати помоћу Питхон ЦГИ. Питхон ЦГИ је згодан алат за веб програмере који граде динамичке и интерактивне онлајн апликације.

    Асинхроно програмирање у Питхон-у

    Асинхроно програмирање је парадигма за компјутерско програмирање која омогућава самосталан и истовремен рад активности. Често се користи у апликацијама као што су веб сервери, софтвер базе података и мрежно програмирање, где се неколико задатака или захтева морају руковати истовремено.

    Питхон међу својим библиотекама и оквирима за асинхроно програмирање има асинцио, Твистед и Торнадо. Асинцио, један од њих, нуди једноставан интерфејс за асинхроно програмирање и званична је библиотека асинхроног програмирања у Питхон-у.

    Корутине су функције које се могу зауставити и поново покренути на одређеним локацијама у коду и које користи асинцио. Ово омогућава да бројне корутине раде истовремено без мешања једна у другу. За конструисање и одржавање корутина, библиотека нуди неколико класа и метода, укључујући асинцио.гатхер(), асинцио.ваит(), и асинцио.цреате_таск().

    Петље догађаја, које су задужене за планирање и рад корутина, су још једна карактеристика асинцио-а. Преласком између корутина на начин који не блокира, петља догађаја контролише извршење корутина и осигурава да ниједна корутина не блокира другу. Поред тога, подржава тајмере и заказивање повратних позива, што може бити од помоћи када се активности морају завршити у одређено време или интервале.

    Питхон Цонцурренци

    Термин ' истовременост ' описује способност програма да изврши неколико задатака одједном, повећавајући ефикасност програма. Питхон нуди неколико модула и метода повезаних са конкурентношћу, укључујући асинхроно програмирање, вишепроцесирање и вишенитност. Док вишепроцесна обрада укључује истовремено покретање многих процеса на систему, вишенитност укључује истовремено покретање бројних нити унутар једног процеса.

    Тхе модул за навоје у Питхон-у омогућава програмерима да граде вишенитно. Нуди класе и операције за успостављање и контролу нити. Насупрот томе, вишепроцесни модул омогућава програмерима да дизајнирају и контролишу процесе. Питхон-ов асинцио модул пружа подршку за асинхроно програмирање, омогућавајући програмерима да пишу неблокирајући код који може истовремено да обрађује више задатака. Користећи ове технике, програмери могу да напишу скалабилне програме високих перформанси који могу истовремено да обрађују више задатака.

    Питхон-ов модул за обраду нити омогућава истовремено извршавање неколико нити унутар једног процеса, што је корисно за активности везане за И/О.

    За ЦПУ интензивне операције као што су обрада слике или анализа података, модули за вишепроцесирање омогућавају истовремено извршавање бројних процеса у више ЦПУ језгара.

    Асинцио модул подржава асинхрони И/О и дозвољава креирање једнонитног истовременог кода користећи корутине за мрежне апликације високе конкурентности.

    Са библиотекама као што је Даск, ПиСпарк , и МПИ, Питхон се такође може користити за паралелно рачунање. Ове библиотеке омогућавају да се радна оптерећења распореде на бројне чворове или кластере ради бољих перформанси.

    Веб Сцраппинг користећи Питхон

    Процес веб скрапинга се користи за аутоматско преузимање података са веб локација. Различити алати и библиотеке издвајају податке из ХТМЛ-а и других онлајн формата. Питхон је међу најчешће коришћеним програмским језицима за веб скрапинг због своје лакоће употребе, прилагодљивости и разноврсности библиотека.

    Морамо да предузмемо неколико корака да бисмо постигли веб стругање користећи Питхон. Прво морамо да одлучимо коју веб локацију да скрежемо и које информације да прикупимо. Затим можемо да поднесемо захтев веб локацији и примимо ХТМЛ садржај користећи Питхон-ов пакет захтева. Једном када добијемо ХТМЛ текст, можемо издвојити потребне податке користећи различите пакете за рашчлањивање, нпр Прелепа супа и лкмл .

    Можемо да применимо неколико стратегија, као што су успоравање захтева, ангажовање корисничких агената и коришћење проксија, како бисмо спречили преоптерећење сервера веб локације. Такође је од кључног значаја да се придржавате услова услуге за веб локацију и поштујете њен роботс.ткт датотеку.

    Копање података, креирање потенцијалних клијената, праћење цена и многе друге употребе су могуће за веб скрапинг. Међутим, како неовлашћено гребање веба може бити противзаконито и неетично, неопходно је да га користите професионално и етички.

    Обрада природног језика (НЛП) користећи Питхон

    Грана вештачке интелигенције (АИ) која се зове „обрада природног језика“ (НЛП) проучава како рачунари и људски језик међусобно делују. Захваљујући НЛП-у, рачунари сада могу да разумеју, тумаче и производе људски језик. Због своје једноставности, свестраности и јаких библиотека као што су НЛТК (Натурал Лангуаге Тоолкит) и спаЦи, Питхон је добро познати програмски језик за НЛП.

    За НЛП задатке, укључујући токенизацију, стемминг, лематизацију, означавање дела говора, идентификацију именованог ентитета, анализу осећања и друге, НЛТК обезбеђује комплетну библиотеку. Има различите корпусе (велике, организоване збирке текста) за развој и процену НЛП модела. Још једна популарна библиотека за НЛП задатке је спаЦи, која нуди брзу и ефикасну обраду огромних количина текста. Омогућава једноставну модификацију и проширење и долази са унапред обученим моделима за различита НЛП радна оптерећења.

    НЛП се може користити у Питхон-у у различите практичне сврхе, укључујући цхат ботове, анализу осећања, категоризацију текста, машинско превођење и још много тога. НЛП користе, на пример, цхатботови да разумеју и одговарају на упите корисника у стилу природног језика. Анализа сентимента, која може бити од помоћи за праћење бренда, анализу повратних информација купаца и друге сврхе, користи НЛП за категоризацију сентимента текста (позитивно, негативно или неутрално). Текстуални документи су категорисани коришћењем обраде природног језика (НЛП) у унапред утврђене категорије за откривање нежељене поште, категоризацију вести и друге сврхе.

    Питхон је снажан и користан алат за анализу и обраду људског језика. Програмери могу да спроводе различите НЛП активности и креирају корисне апликације које могу да комуницирају са потрошачима на природном језику помоћу библиотека као што су НЛТК и спаЦи.

    Закључак:

    У овом водичу погледали смо неке од најважнијих карактеристика и идеја Питхон-а, укључујући променљиве, типове података, петље, функције, модуле и још много тога. Такође се расправљало о сложенијим темама, укључујући стругање веба, обраду природног језика, паралелизам и повезивање базе података. Имаћете јаку основу да наставите да учите о Питхон-у и његовим апликацијама користећи информације које сте научили из ове лекције.

    јфк јава туториал

    Запамтите да је вежбање и развој кода најбољи метод за учење Питхон-а. На јаваТпоинт-у можете пронаћи многе ресурсе који ће подржати ваше даље учење, укључујући документацију, туторијале, онлајн групе и још много тога. Можете савладати Питхон и користити га за стварање дивних ствари ако напорно радите и устрајете.

    Предуслов

    Пре него што научите Питхон, морате имати основна знања о концептима програмирања.

    Публика

    Наш Питхон водич је дизајниран да помогне почетницима и професионалцима.

    Проблем

    Уверавамо вас да нећете наћи никакав проблем у овом водичу за Питхон. Али ако постоји нека грешка, објавите проблем у контакт форми.