个性化阅读
专注于IT技术分析

每个开发人员都应了解的11个Python库和模块

本文概述

库和模块使程序员的生活更加顺畅。

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

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

#内置模块

Python随附了许多用于不同用例的内置模块。我们将根据用途对模块进行逐一研究。

collections–容器数据类型

Python具有不同类型的集合来存储数据集合。例如, 元组, 列表, 字典等是Python的一些内置集合。集合模块为内置集合提供了附加功能。

如果从collections模块中提取双端队列数据, 则它更像是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)

运行上面的代码;看到结果。集合模块中还有其他数据集合。

他们之中有一些是:

计数器 返回一个包含列表中元素频率的字典。它是字典类的子类。
用户清单 用于列表的快速子类。
UserDict 用于字典的快速子类。
用户字符串 用于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))

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

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

random随机生成

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

我们来看一个简单的程序, 该程序可以生成给定范围内的随机整数。

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

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

#第三方模块

requests – HTTP请求

请求模块用于将各种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库用于Web抓取。这是一个方便的模块。即使是初学者, 也可以使用文档开始使用它。请参阅示例代码以抓取客户报告的详细信息。

你可以通过在终端/命令行中键入以下命令来安装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)

运行上面的代码以查看Web抓取的魔力。还有更多的Web抓取框架供你尝试。

#数据科学与机器学习

有一些专门为数据科学和机器学习而创建的库。所有这些都是用C语言开发的。它们闪电般快。

Numpy

numpy用于科学计算。

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

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

pip install numpy

Pandas

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

使用以下命令安装模块。

pip install pandas

matplotlib

Matplotlib是2D图形绘图库。你可以使用Matplotlib可视化数据。

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

pip install matplotlib

快速说明:-你可以安装Anaconda来获取Data Science所需的所有库和模块。

如果你认真学习用于数据科学和ML的Python, 请查看此精彩的Udemy课程。

#Web框架

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

Django

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

  • 我们可以使用Django的功能快速构建复杂的网站。
  • Django已经完成了Web开发所需的许多任务。
  • 它还为SQL注入, 跨站点脚本编写, 跨站点请求伪造和Clickjacking攻击提供安全性。
  • 我们可以建立从内容管理系统到社交网站的任何网站。

Django的文档是明确的。你必须熟悉适用于Django的Python。但是, 不用担心。学习Django很容易。

Flask

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

它比Django更具有Python风格。这里有出色的文档。它使用Jinja模板引擎。创建大型网站Flask非常复杂。大多数功能(例如URL路由, 请求分派, 安全cookie, 会话等)都存在于Django和Flask中。

根据你网站的复杂程度选择框架。 Django在开发人员中越来越受欢迎。这是Python中用于Web开发的最常用的框架。

总结

希望你对Python的不同模块, 库和框架有所了解。

每个人都是初学者。

无论你要开始什么, 首先请阅读文档并开始学习。如果你不懂这些文档, 请在教育网站上找到速成课程。

赞(0)
未经允许不得转载:srcmini » 每个开发人员都应了解的11个Python库和模块

评论 抢沙发

评论前必须登录!