每个开发人员都应该知道的 11 个 Python 库和模块

库和模块让程序员的生活变得顺畅。

在处理项目时,您可能会遇到无法使用编程语言的标准编码来解决的情况。 我们需要一些库和模块来克服这些问题。

幸运的是,Python 支持大量的模块和库。 Python 有内置的模块以及用于开发的第三方库和模块。 我们将看到集成模块和第三方模块,这对 Python 项目非常有利。 让我们首先探索内置模块。

# 内置模块

Python 带有大量用于不同用例的内置模块。 我们将根据用途一一研究模块。

集合——容器数据类型

Python 有不同类型的集合来存储数据集合。 比如tuple、list、dict等等,都是Python自带的一些集合。 collections 模块为内置集合提供了额外的特性。

如果从 collections 模块中获取 deque 数据集合,它更像是一个 Python 列表。 但是,我们可以从两侧推送和弹出元素。 它比列表更快。 您可以根据需要使用双端队列。 让我们看一些使用 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)

运行上面的代码; 查看结果。 我们在 collections 模块中还有其他数据集合。

他们之中有一些是:

柜台
返回一个字典,其中包含列表中元素的频率。

它是 dict 类的子类。

用户列表
用于列表的快速子类。
用户字典
用于 dict 的快速子类。
用户字符串
用于 str 的快速子类。

转到文档的 收藏品 探索所有数据收集和方法的模块。

快速说明:- 使用 Python 的 dir(object) 内置方法查看对象的所有方法。

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

运行上面的代码来查看结果。

  修复 PS4 控制器无法连接到控制台

我们还将有一个名为 csv.writer() 的对象,用于将数据写入 CSV 文件。 使用 dir() 和 help() 内置方法自行尝试其他方法。 我们有另一个名为 JSON 的模块,用于处理 JSON 文件。 它也是一个内置模块。

随机-生成

Python 有一个名为 random 的模块,它允许随机生成数据。 我们可以使用随机模块的不同方式随机生成任何东西。 您可以在井字游戏、骰子游戏等应用程序中使用此模块。

让我们看一个从给定范围内生成随机整数的简单程序。

import random

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

您可以使用 dir() 和 help() 方法检查 random 模块的其他方法。 让我们使用随机模块编写一个简单的小游戏。 我们可以称之为猜数字游戏。

什么是猜数游戏?

程序将生成一个范围为 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(图形用户界面)应用程序的内置模块。 对初学者来说很方便。 我们可以开发 GUI 应用程序,如计算器、登录系统、文本编辑器等。有很多资源可以学习使用 Tkinter 进行 GUI 开发。

  保存您的历史记录并支持脚本的剪贴板管理器

最好的支持就是关注官方 文档. 要开始使用 Tkinter,请转到文档并开始创建漂亮的 GUI 应用程序。

# 第三方模块

请求——HTTP 请求

Requests模块用于向服务器发送各种HTTP请求。 它允许发送 HTTP/1.1 请求。 我们还可以使用 Python 字典添加标题、数据和其他内容。 由于它是第三方模块,我们必须安装它。 在终端或命令行中运行以下命令以安装请求模块。

pip install requests

使用请求模块很简单。 我们可以在没有任何先验知识的情况下开始处理请求。 让我们看看如何发送 get 请求及其返回的内容。

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 语言开发的。它们快如闪电。

麻木的

麻木的 用于科学计算。

它允许我们处理多维数组。 Python 中没有数组实现。 主要是开发人员在他们的机器学习项目中使用 numpy。 它易于学习和开源库。 几乎每个机器学习工程师或数据科学家都使用此模块进行复杂的数学计算。

运行以下命令来安装 numpy 模块。

pip install numpy

熊猫

熊猫 是一个数据分析模块。 我们可以使用 pandas 库最有效地过滤数据。 它提供了不同类型的数据结构,便于使用。 它还提供不同文件格式的文件处理。

使用以下命令安装模块。

pip install pandas

Matplotlib

Matplotlib 是一个二维图形绘图库。 您可以使用 Matplotlib 可视化数据。

我们可以生成不同格式的图形图像。 我们绘制不同类型的图表,如条形图、误差图、直方图、散点图等。您可以使用以下命令安装 matplotlib。

pip install matplotlib

快速说明:- 您可以安装 蟒蛇 获取数据科学所需的所有库和模块。

如果你真的想学习用于数据科学和 ML 的 Python,那么看看这个精彩的 Udemy课程.

# 网络框架

我们可以在 Python 中找到许多 Web 框架。 我们将讨论开发人员广泛使用的两个框架。 这两个框架是 Django 和 Flask。

姜戈

姜戈 是一个用 Python 开发的开源 Web 框架。 用 Django 创建网站很方便。 我们可以使用这个框架生成任何类型的网站。 使用 Django 构建的一些最受欢迎的网站是 Instagram、bitbucket、Disqus、Mozilla Firefox 等。

  • 我们可以利用Django的特性快速搭建复杂的网站。
  • Django 已经完成了 web 开发所需的许多任务。
  • 它还为 SQL 注入攻击、跨站点脚本、跨站点请求伪造和点击劫持提供安全保护。
  • 我们可以构建从内容管理系统到社交网站的任何网站。

Django 的文档是明确的。 你必须熟悉 Django 的 Python。 但如果你不是,请不要担心。 学习 Django 简单。

烧瓶

Flask 是一个用 Python 开发的微型 Web 框架。

它比 Django 更像 pythonic。 它有很好的文档 这里. 它使用 Jinja 模板引擎。 创建大型网站 Flask 非常复杂。 大多数功能,如 URL 路由、请求调度、安全 cookie、会话等,都存在于 Django 和 Flask 中。

根据您网站的复杂性选择框架。 Django 在开发人员中越来越受欢迎。 它是 Python 中最常用的 Web 开发框架。

结论

我希望您了解 Python 的不同模块、库和框架。

每个人都曾经是初学者。

无论你想开始什么,首先去文档并开始学习它。 如果您无法理解文档,请在 教育网站.