11 библиотеки и модули на Python, които всеки програмист трябва да знае

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

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

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

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

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

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

Python има различни видове колекции за съхраняване на колекцията от данни. Например tuple, list, dict и т.н., са някои от вградените колекции на Python. Модулът за колекции предоставя допълнителни функции към вградените колекции.

Ако вземете събиране на данни deque от модула за колекции, това е по-скоро списък на Python. Но ние можем да избутаме и изскочим елементите от двете страни. По-бързо е от списъка. Можете да използвате deque въз основа на вашите нужди. Нека видим малко реално кодиране със събиране на данни collections.deque.

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)

Стартирайте горния код; вижте резултатите. Имаме и други колекции от данни в модула за колекции.

Някои от тях са:

Брояч
Връща dict, който съдържа честотата на елементите от списъка.

Това е подклас на класа dict.

UserList
Използва се за бърз подклас на списъка.
UserDict
Използва се за бърз подклас на dict.
Потребителски низ
Използва се за бърз подклас на str.

Отидете на документацията на колекции модул за изследване на всички колекции от данни и методи.

Бърза забележка: – Използвайте вградения метод dir(object) на Python, за да видите всички методи на даден обект.

CSV – обработка на файлове

Можем да използваме CSV (стойности, разделени със запетая) файлове, за да съхраняваме табличните данни. Най-често използваният формат за импортиране и експортиране на данни от електронни таблици и бази данни. Python идва с модул, наречен CSV, за обработка на CSV файловете.

  USB конектор тип A: всичко, което трябва да знаете

Нека видим един пример за четене на данни от CSV файл.

Създайте файл с име sample.csv във вашия лаптоп и поставете следните данни.

Name,Age,Graduation Year

Hafeez,21,2021

Aslan,23,2019

Rambabu,21,2021

Имаме методи за четене и запис в CSV модула. Ще видим как да четем данните от CSV файловете с помощта на CSV модула.

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

Изпълнете горния код, за да видите резултатите.

Също така ще имаме обект, наречен csv.writer(), за да записваме данните в CSV файла. Играйте с другите методи сами, като използвате вградените методи dir() и help(). Имаме друг модул, наречен JSON, който се използва за обработка на JSON файлове. Освен това е вграден модул.

Случайно генериране

Python има модул, наречен random, който позволява произволно генериране на данни. Можем да произвеждаме произволно всичко, използвайки различни начини на произволния модул. Можете да използвате този модул в приложения като tic-tac-toe, игра със зарове и др.,

Нека да видим проста програма за генериране на произволни цели числа от даден диапазон.

import random

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

Проверявате другите методи на произволния модул, като използвате методите dir() и help(). Нека напишем малка и проста игра, използвайки произволния модул. Можем да го наречем Игра за отгатване на числа.

Какво представлява играта за отгатване на числа?

Програмата ще генерира произволно число в диапазона от 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

Tkinter – GUI приложения

Tkinter е вграден модул за разработка на GUI (Graphical User Interface) приложения. Удобен е за начинаещи. Можем да разработим GUI приложения като калкулатор, система за влизане, текстов редактор и т.н.. Има много ресурси, за да научите разработването на GUI с Tkinter.

  Защо някои клавиатури имат множество символи на някои клавиши?

Най-добрата подкрепа е да следвате официалния документи. За да започнете с Tkinter, отидете на документите и започнете да създавате красиви GUI приложения.

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

Заявки – HTTP заявки

Модулът Requests се използва за изпращане на всички видове HTTP заявки към сървъра. Позволява изпращането на HTTP/1.1 заявки. Можем също да добавяме заглавки, данни и други неща, използвайки речници на Python. Тъй като това е модул на трета страна, трябва да го инсталираме. Изпълнете следната команда в терминала или командния ред, за да инсталирате модула за заявки.

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)

Горният код ще отпечата status_code, URL и метод на заявка (GET, POST). Ще получите и източника на URL адреса. Можете да получите достъп до него с байтовете request.content. Отидете на документи на модула за заявки и проучете повече.

BeautifulSoup4 – уеб скрапинг

Библиотеката BeautifulSoup се използва за уеб скрапинг. Това е удобен модул за работа. Дори начинаещите могат да започнат да работят с него, като използват документи. Вижте примерния код, за да премахнете подробностите за клиентските отчети.

Можете да инсталирате BeautifulSoup, като напишете следната команда в терминала/командния ред.

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)

Стартирайте горния код, за да видите магията на уеб скрапирането. Има още рамки за уеб скрапинг, които можете да опитате.

# Наука за данни и машинно обучение

Има някои библиотеки, специално създадени за наука за данни и машинно обучение. Всички те са разработени в C. Те са светкавично бързи.

Numpy

Numpy се използва за научни изчисления.

Позволява ни да работим с многоизмерни масиви. Реализацията на масиви не съществува в Python. Основно разработчиците използват numpy в своите проекти за машинно обучение. Той е лесен за научаване и библиотека с отворен код. Почти всеки инженер по машинно обучение или учен по данни използва този модул за сложни математически изчисления.

  3 най-добра облачна хостинг платформа за управление на AWS, DO, Vultr и GCP сървъри за малък бизнес

Изпълнете следната команда, за да инсталирате модула numpy.

pip install numpy

панди

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

Инсталирайте модула, като използвате следната команда.

pip install pandas

Matplotlib

Matplotlib е библиотека за начертаване на 2D графики. Можете да визуализирате данните с помощта на Matplotlib.

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

pip install matplotlib

Бърза забележка: – Можете да инсталирате Анаконда за да получите всички библиотеки и модули, необходими за Data Science.

Ако сте сериозни за изучаването на Python за наука за данни и ML, вижте това брилянтно Курс по Udemy.

# Уеб рамки

Можем да намерим много уеб рамки в Python. Ще обсъдим две рамки, които се използват широко от разработчиците. Двете рамки са Django и Flask.

Джанго

Джанго е уеб рамка с отворен код, разработена в Python. Удобно е да създавате уебсайтове с Django. Ние можем да генерираме всякакъв вид сайтове, използвайки тази рамка. Някои от най-популярните сайтове, създадени с Django, са Instagram, bitbucket, Disqus, Mozilla Firefox и др.,

  • Можем бързо да създаваме сложни уебсайтове с функциите на Django.
  • Django вече изпълнява много от задачите, необходими за уеб разработка.
  • Той също така осигурява сигурност за атаките SQL инжектиране, междусайтови скриптове, фалшифициране на междусайтови заявки и щракване.
  • Можем да изградим всеки уебсайт от системата за управление на съдържанието до социални сайтове.

Документацията на Django е недвусмислена. Трябва да сте запознати с Python за Django. Но не се притеснявайте, ако не сте. Изучаване на Django лесно е.

Колба

Flask е микро уеб рамка, разработена в Python.

Той е по-питоничен от Django. Има отлична документация тук. Използва механизма за шаблони Jinja. Много е сложно да се създават големи уебсайтове Flask. Повечето функции като маршрутизиране на URL адреси, изпращане на заявки, защитени бисквитки, сесии и т.н., присъстват както в Django, така и в Flask.

Изберете рамката въз основа на сложността на вашия уебсайт. Django набира популярност сред разработчиците. Това е най-използваната рамка за уеб разработка в Python.

Заключение

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

Всеки веднъж начинаещ.

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