11 Питхон библиотека и модула које сваки програмер треба да зна

Библиотеке и модули чине живот програмера глатким.

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

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

# Уграђени модули

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

Колекције – Типови података контејнера

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

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

import collections
nums = [1, 2, 3]
# creating deque collection from the list
deque = collections.deque(nums)

print(deque)

# adding an element at the end
deque.append(4)

print(deque)

# adding element at the starting
deque.appendleft(0)

print(deque)

# removing the element at the end
deque.pop()

print(deque)

# removing element at the starting
deque.popleft()

print(deque)

Покрените горњи код; види резултате. Имамо и друге збирке података у модулу збирке.

Неки од њих су:

Цоунтер
Враћа дицт који садржи учесталост елемената са листе.

То је подкласа класе дицт.

УсерЛист
Користи се за брзу подкласу листе.
УсерДицт
Користи се за брзу подкласу дицта.
УсерСтринг
Користи се за брзу подкласу стр.

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

Брза напомена: – Користите уграђени метод дир(објецт) у Питхон-у да бисте видели све методе објекта.

ЦСВ – руковање датотекама

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

Хајде да видимо један пример читања података из ЦСВ датотеке.

  ФастПеоплеСеарцх Водич за искључивање и уклањање

Направите датотеку са именом сампле.цсв на свом лаптопу и налепите следеће податке.

Name,Age,Graduation Year

Hafeez,21,2021

Aslan,23,2019

Rambabu,21,2021

Имамо методе за читање и писање у ЦСВ модулу. Видећемо како да читамо податке из ЦСВ датотека помоћу ЦСВ модула.

import csv

with open('sample.csv') as file:
    # creating the reader
    reader = csv.reader(file)
    
    # reading line by line using loop
    for row in reader:
        # row is a list containing elements from the CSV file
        # joingin the list using join(list) method
        print(','.join(row))

Покрените горњи код да бисте видели резултате.

Такође ћемо имати објекат под називом цсв.вритер() за уписивање података у ЦСВ датотеку. Играјте се са другим методама на своју руку користећи уграђене методе дир() и хелп(). Имамо још један модул који се зове ЈСОН, који се користи за руковање ЈСОН датотекама. То је такође уграђени модул.

Случајно – генерисање

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

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

import random

# generating a random number from the range 1-100
print(random.randint(1, 100)) 

Остале методе рандом модула проверавате користећи методе дир() и хелп(). Хајде да напишемо малу и једноставну игру користећи насумични модул. Можемо је назвати игром погађања бројева.

Шта је игра погађања бројева?

Програм ће генерисати насумични број у распону од 1 – 100. Корисник ће погодити број док се не поклопи са случајним бројем који је генерисао програм. Сваки пут ћете штампати да ли је број корисника мањи од случајног броја или већи од случајног броја. Затим ће изворни код приказати број нагађања.

Погледајте код испод за горњи програм.

# importing random module
import random

# generating random number
random_number = random.randint(1, 100)

# initializing no. of guess to 0
guess_count = 0

# running loop until user guess the random number
while True:
    # getting user input

    user_guessed_number = int(input("Enter a number in the range of 1-100:- "))

    # checking for the equality
    if user_guessed_number == random_number:
        print(f"You have guessed the number in {guess_count} guesses")
        # breaking the loop
        break
    elif user_guessed_number < random_number:
        print("Your number is low")
    elif user_guessed_number > random_number:
        print("Your number is high")

    # incrementing the guess count
    guess_count += 1

Ткинтер – ГУИ апликације

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

  Мапа метал емисија жанрова кроз деценије са плејлистама

Најбоља подршка је пратити званичника доцс. Да бисте започели са Ткинтером, идите на документе и почните да креирате прелепе ГУИ апликације.

# Модули треће стране

Захтеви – ХТТП захтеви

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

pip install requests

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

import requests

# sening a get request
request = requests.get("https://www.google.com/")

# 
print(request.status_code)
print(request.url)
print(request.request)

Горњи код ће одштампати статус_цоде, УРЛ и метод захтева (ГЕТ, ПОСТ). Добићете и извор УРЛ-а. Можете му приступити помоћу бајтова рекуест.цонтент. Иди на доцс модула захтева и истражите више.

БеаутифулСоуп4 – веб стругање

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

Можете инсталирати БеаутифулСоуп тако што ћете уписати следећу команду у терминал/командну линију.

pip install beautifulsoup4

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

## Scrping the ConsumerReport products list using BeautifulSoup

## importing bs4, requests modules
import bs4
import requests

## initializing url
url = "https://www.consumerreports.org/cro/a-to-z-index/products/index.htm"

## getting the reponse from the page using get method of requests module
page = requests.get(url)

## storing the content of the page in a variable
html = page.content

## creating BeautifulSoup object
soup = bs4.BeautifulSoup(html, "lxml")

## see the class or id of the tag which contains names ans links
div_class = "crux-body-copy"

## getting all the divs using find_all method
div_tags = soup.find_all("div", class_=div_class) ## finding divs whichs has mentioned class

## we will see all the tags with a tags which has name and link inside the div
for tag in div_tags:
    print(tag)

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

# Наука о подацима и машинско учење

Постоје неке библиотеке специјално креиране за науку о подацима и машинско учење. Све су то развијене у Ц. Брзе су муње.

Нумпи

Нумпи се користи за научне прорачуне.

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

  Шта је напад брзе ињекције АИ и како функционише?

Покрените следећу команду да бисте инсталирали нумпи модул.

pip install numpy

Панде

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

Инсталирајте модул користећи следећу команду.

pip install pandas

Матплотлиб

Матплотлиб је библиотека за цртање 2Д графикона. Можете да визуелизујете податке користећи Матплотлиб.

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

pip install matplotlib

Брза напомена: – Можете инсталирати Анаконда да добијете све библиотеке и модуле потребне за науку о подацима.

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

# Веб оквири

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

Дјанго

Дјанго је веб оквир отвореног кода развијен у Питхон-у. Погодно је креирати веб странице помоћу Дјанга. Можемо да генеришемо било коју врсту сајтова користећи овај оквир. Неки од најпопуларнијих сајтова направљених помоћу Дјанга су Инстаграм, битбуцкет, Дискус, Мозилла Фирефок, итд.,

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

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

Фласк

Фласк је микро веб оквир развијен у Питхон-у.

Више је питонски од Дјанга. Има одличну документацију овде. Користи Јиња шаблонски механизам. Веома је сложено направити велике веб странице Фласк. Већина функција као што су усмеравање УРЛ-ова, слање захтева, безбедни колачићи, сесије, итд., присутни су и у Дјангу и у Фласку.

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

Закључак

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

Свако једном почетник.

Шта год желите да почнете, прво идите на документацију и почните да је учите. Ако не можете да разумете документацију, пронађите убрзане курсеве на образовне веб странице.