Библиотеките и модулите правят живота на програмиста гладък.
Когато работите с проекти, може да срещнете сценарии, при които няма да можете да решите със стандартното кодиране на език за програмиране. Имаме нужда от някои библиотеки и модули, за да преодолеем тези проблеми.
За щастие 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 файловете.
Нека видим един пример за четене на данни от 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 в своите проекти за машинно обучение. Той е лесен за научаване и библиотека с отворен код. Почти всеки инженер по машинно обучение или учен по данни използва този модул за сложни математически изчисления.
Изпълнете следната команда, за да инсталирате модула 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.
Всеки веднъж начинаещ.
Каквото и да искате да започнете, първо отидете на документацията и започнете да я изучавате. Ако не можете да разберете документите, намерете интензивни курсове на образователни уебсайтове.