最好用的Python库推荐总结,每一个都用处很大!

文章目录

    • 分词 - jieba
    • 词云库 - wordcloud
    • 可视化进度条 - tpdm
    • 优美的表格 - PrettyTable
    • 多进程 - multiprocessing
    • 多线程 - threading
    • 谷歌翻译 - googletrans
    • 重复回调 - retrying
    • 游戏开发 - pygame
    • 绘图教程 - turtle
    • 数据分析 - pandas
    • 算法加密 - pycryto
    • 操作 win 电脑 - pywin32
    • 自动程序测试 - Selenium
    • 音频播放 - mp3play
    • 网页解析 - BeautifulSoup
    • 日志处理 - logging
    • 图像处理 - PIL
    • 发送邮件 - yagmail
    • 源码打包 - pyinstaller
      • 关于Python技术储备
        • 一、Python所有方向的学习路线
        • 二、Python基础学习视频
        • 三、精品Python学习书籍
        • 四、Python工具包+项目源码合集
        • ①Python工具包
        • ②Python实战案例
        • ③Python小游戏源码
        • 五、面试资料
        • 六、Python兼职渠道


在这里插入图片描述

分词 - jieba

  • 优秀的中文分词库,依靠中文词库,利用词库确定汉子之间关联的概率,形成分词结果
import jieba
word = '伟大的中华人民共和国'
jieba.cut(word)
jieba.lcut(word)

词云库 - wordcloud

  • 对数据中出现频率较高的 关键词 生成的一幅图像,予以视觉上的突出
import jieba
import numpy as np
import PIL.Image as Image
from wordcloud import WordCloud
def run(word\_path, picture\_path):
    with open(word\_path, 'r') as f:
        word = f.read()
    cut\_word = ' '.join(jieba.cut(word))
    color\_mask = np.array(Image.open(picture\_path))
    word\_cloud = WordCloud(
        # 设置字体,不指定就会出现乱码
        font\_path='/System/Library/Fonts/PingFang.ttc',
        # 设置背景色
        background\_color='white',
        # 词云形状
        mask=color\_mask,
        # 允许最大词汇
        max\_words=120,
        # 最大号字体
        max\_font\_size=2000
    ).generate(cut\_word)
    word\_cloud.to\_file('word\_cloud.jpg')
    im = word\_cloud.to\_image()
    im.show()

可视化进度条 - tpdm

  • 好看的进度条,不仅会让人一眼就知道任务的进度,还能够让自己的心情愉悦
from time import sleep
from tqdm import tqdm
# 这里同样的,tqdm就是这个进度条最常用的一个方法
# 里面存一个可迭代对象
for i in tqdm(range(1, 500)):
  # 模拟你的任务
  sleep(0.01)
sleep(0.5)

优美的表格 - PrettyTable

  • 可以让你在命令行打印出优美的表格
import prettytable as pt
# 按行添加数据
tb = pt.PrettyTable()
tb.field\_names = \['name', 'age', 'height', 'weight'\]
tb.add\_row(\['飞兔', 25, 174, 65\])
tb.add\_row(\['autofelix', 23, 164, 55\])
tb.add\_row(\['极客飞兔', 27, 184, 69.5\])
print(tb)
# +-----------+-----+--------+--------+
# |    name   | age | height | weight |
# +-----------+-----+--------+--------+
# |   飞兔    |  25 |  174   |   65   |
# | autofelix |  23 |  164   |   55   |
# |  极客飞兔  |  27 |  184   |  69.5 |
# +-----------+-----+--------+--------+

多进程 - multiprocessing

  • 创建多进程
from multiprocessing import Process
def func(s):
  print(s)
if \_\_name\_\_ == '\_\_main\_\_':
  process = \[
      Process(target=func, args=('1', ))
    Process(target=func, args=('2', ))
  \]
  \[p.start() for p in process\]
  \[p.join() for p in process\]

多线程 - threading

  • 创建多线程
import threading
def func(s):
  print(s)
if \_\_name\_\_ == '\_\_main\_\_':
  thread = \[
      threading.Thread(target=func, args=('1', ))
    threading.Thread(target=func, args=('2', ))
  \]
  \[t.start() for t in thread\]
  \[t.join() for t in thread\]

谷歌翻译 - googletrans

  • 自动语言检测,批量翻译,语言检测等
from googletrans import Translator
translator = Translator()
# 未提供源语言以及翻译的最终语言,会自动翻译成英文
translator.translate('안녕하세요.')
# 告诉它翻译成什么语言
translator.translate('안녕하세요.', dest='ja')
# 告诉它源语言是什么
translator.translate('极客飞兔', src='zh-cn')
# 语言检测
t = ttranslator.detect('이 문장은 한글로 쓰여졌습니다.')
t.lang

重复回调 - retrying

  • 如果请求失败,我们需要再重新进行进行请求,防止请求异常导致数据缺失
from retrying import retry
@retry(stop\_max\_attempt\_number=5)
def say():
  try:
    autofelix
  except Exception as e:
    # 可以将错误记录日志
    print(e)
    raise
say()

游戏开发 - pygame

  • 实现 python 游戏的开发,可以开发各种大小型游戏
import pygame, sys
from pygame.locals import \*
# 初始化pygame
pygame.init()
# 设置窗口的大小,单位为像素
screen = pygame.display.set\_mode((500,400), 0, 32)
# 设置窗口的标题
pygame.display.set\_caption('用户事件监控')
# 设置背景
screen.fill((255, 255, 255))
# 程序主循环
while True:
  # 获取事件
  for event in pygame.event.get():
    # 判断事件是否为退出事件
    if event.type == QUIT:
      # 退出pygame
      pygame.quit()
      # 退出系统
      sys.exit()
    # 获得键盘按下的事件  
    if event.type == KEYDOWN:
      if(event.key==K\_UP or event.key==K\_w):
        print("上")
      if(event.key==K\_DOWN or event.key==K\_s):
        print("下")
      if(event.key==K\_LEFT or event.key==K\_a):
        print("左")
      if(event.key==K\_RIGHT or event.key==K\_d):
        print("右")
      # 按下键盘的Esc键退出
      if(event.key==K\_ESCAPE):
        # 退出pygame
        pygame.quit()
        # 退出系统
        sys.exit()
    # 获得鼠标当前的位置  
    if event.type ==MOUSEMOTION:
      print(event.pos)
    # 获得鼠标按下的位置
    if event.type ==MOUSEBUTTONDOWN:
      print("鼠标按下:", event.pos)
    # 获得鼠标抬起的位置
    if event.type ==MOUSEBUTTONUP:
      print("鼠标抬起:", event.pos) 
  # 绘制屏幕内容
  pygame.display.update()

绘图教程 - turtle

  • 可以画出各种各样奇妙的图案,简直就是程序中的画板
from turtle import \*
colors = \['red', 'purple', 'blue', 'green', 'yellow', 'orange'\]
for x in range(360):
    pencolor(colors\[x % 6\])
    width(x / 100 + 1)
    forward(x)
    left(59)

数据分析 - pandas

  • 数据分析处理库,为解决数据分析任务而创建的,能够快速便捷地处理数据的函数和方法
import pandas as pd
info = pd.read\_csv("students.csv", encoding = "utf-8")
# 查看数据框的一些属性:最大、最小、均值、四分位数等
info.describe()
# 空值相关的操作
pin = info\["pin"\]
pin\_isnull = pd.isnull(pin) 
pin\_isnull\_list = info\[pin\_isnull\] 
len(pin\_isnull\_list)
# 缺失值相关操作, 简单的处理办法就是过滤掉null值
books = info\["life\_cycle\_books"\]
book\_isnull = pd.isnull(books)
book\_list\_isnull = info\["life\_cycle\_books"\]\[book\_isnull == False\]
mean = sum(book\_list\_isnull) / len(book\_list\_isnull)
# 删除缺失值, 所有行
na\_info = info.dropna(axis = 1)
# 删除缺失值, 可以指定列
na\_info = info.dropna(axis = 0, subset = \["age", "name"\])

算法加密 - pycryto

  • pycryto 能实现大致 3 种类型的数据加密(单向加密、对称加密 和非对称加密),产生随机数,生成密钥对,数字签名
from Crypto.Hash import SHA256
hash = SHA256.new()
hash.update('Hello, World!')
# 使用digest()方法加密
digest = hash.digest()
# 使用hexdigest()方法加密,该方法加密后是16进制的
hexdigest = hash.hexdigest()
print(digest, hexdigest)

操作 win 电脑 - pywin32

  • pywin32 包装了 Windows 系统的 Win32 API,能创建和使用 COM 对象和图形窗口界面
import win32api
import win32con
hid = win32gui.WindowFromPoint((100, 100))
# 获取窗口标题
title = win32gui.GetWindowText(hid)
# 获取窗口类名
class\_name = win32gui.GetClassName(hid)
# 模拟鼠标在(400, 500)位置进行点击操作
point = (400, 500)
win32api.SetCursorPos(point)
win32api.mouse\_event(win32con.MOUSEEVENTF\_LEFTDOWN, 0, 0)
win32api.mouse\_event(win32con.MOUSEEVENTF\_LEFTUP, 0, 0)

自动程序测试 - Selenium

  • Selenium 是一个用于 Web 应用程序测试的工具。Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected\_conditions as EC
# 初始化谷歌浏览器
driver = webdriver.Chrome()
# 最大化窗口
driver.maximize\_window()
# 打开头条登陆网址
driver.get('https://sso.toutiao.com')
# 等待某个元素是否出现
WebDriverWait(self.driver, 10).until(
    EC.text\_to\_be\_present\_in\_element((By.XPATH, '//\*\[@id="mobile-code-get"\]/span'), u'发送')
)
# 实例化鼠标操作
action = ActionChains(self.driver)
# 按住滑块
action.click\_and\_hold(self.driver.find\_element\_by\_xpath('//\*\[@id="captcha\_container"\]')).perform()
# 将滑块移动x的距离
action.move\_by\_offset(xoffset=x, yoffset=0).perform()
# 释放滑块
action.release().perform()

音频播放 - mp3play

  • 一款超级小型的音频操作库,可以实现播放音乐,按空格键实现暂停和播放的切换
import mp3play
clip = mp3play.load('music.mp3')
clip.play()

网页解析 - BeautifulSoup

  • 是一个网页解析库,能够快速的分析网页结构
from bs4 import BeautifulSoup
soup = BeautifulSoup('<p class="name nickname user"><b>i am autofelix</b></p>', 'html.parser')
#获取整个p标签的html代码
print(soup.p)
#获取b标签
print(soup.p.b)
#获取p标签内容,使用NavigableString类中的string、text、get\_text()
print(soup.p.text)
#返回一个字典,里面是多有属性和值
print(soup.p.attrs)
#查看返回的数据类型
print(type(soup.p))
#根据属性,获取标签的属性值,返回值为列表
print(soup.p\['class'\])
#给class属性赋值,此时属性值由列表转换为字符串
soup.p\['class'\]=\['Web','Site'\]
print(soup.p)

日志处理 - logging

  • 打印和记录日志
import logging
logging.basicConfig(filename='logging.text', level=logging.DEBUG)
logging.debug('It is a debug')
logging.info('It is a  info')
logging.warning('It is a  warning')

图像处理 - PIL

  • 非常适合于图像归档以及图像的批处理任务。可以使用 PIL 创建缩略图,转换图像格式,打印图像等等
from PIL import Image
im = Image.open("picture.jpg")
new\_im = im.convert('L')
print(new\_im.mode)
new\_im.show()

发送邮件 - yagmail

  • 是一种非常简单用来实现自动发邮件功能的包,可以实现给单人或者多人同时发送邮件
import yagmail
# 链接邮箱服务器
yag = yagmail.SMTP( user='邮箱地址', password='登录密码', host='smtp.163.com')
# 邮箱正文
contents = \['邮件第一行内容', '邮件第二行内容', '邮件第三行内容'\]
# 给用户发送邮件并添加多个附件
yag.send(\['目标邮箱地址1', '目标邮箱地址2', '目标邮箱地址3'\], '邮件标题', contents, \['c://附件.pdf', 'c://picture.jpg'\])

源码打包 - pyinstaller

  • 将源码打包成exe文件,直接在window上运行
pyinstaller -F -w -p ./lib -i logo.ico main.py

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉CSDN大礼包:《Python入门资料&实战源码&安装工具】免费领取安全链接,放心点击

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python基础学习视频

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、Python工具包+项目源码合集
①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

六、Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/153395.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2—10岁女童羽绒服,黑色长款也太好看了吧

冬天怎么能没有一件暖呼呼的羽绒服呢? 黑色长款羽绒服也赞了吧 大长款连帽,防风保暖设计 时尚与美观度都兼具呢!好穿又耐穿!

qt定时器的使用

在QWidget中进行声明

大数据毕业设计之前端01:我的前端之路

初遇前端 初次接触前端还是2016年,那一年暑假心血来潮,在网易云课堂上学着前端三剑客(html、js、css)。18年毕业,把用各色水笔手写的花花绿绿笔记寄回家里,投身奔赴后端与大数据开发的征程。 遥记18年的毕…

关于hadoop报错ERROR: Cannot set priority of namenode process与jps仅有自身的某类解决办法

运行start-sh.all发现了如图的问题 也是搞了很久搜了很多教程,发现很多人并不是大毛病而是很多小细节出了错误。 首先检查如下hadoop-env.sh ,core-site.xml ,hdfs-site.xml ,mapred-site.xml ,yarn-site.xml 内容是…

flutter 绘制右上角圆角三角形标签

绘制: import package:jade/utils/JadeColors.dart; import package:flutter/material.dart; import dart:math as math;class LabelTopRightYellow extends StatefulWidget {final String labelTitle; // 只能两个字的(文字偏移量没有根据文字长度改变…

要在伦敦银技术分析史上留名 这可能吗?

在学习伦敦银投资的时候,我们都很羡慕那些以人的名字命名的交易工具或者策略,例如布林带、帝纳波利点位、加特利形态、艾略特波浪理论等等。投资者也有一个希望,就是开发属于自己的交易策略或者工具,这并不是不可能的,…

C 语言指针和数组

C 语言指针和数组 在本教程中,您将了解C语言编程中数组与指针之间的关系。您还将学习使用指针访问数组元素。 在了解数组与指针之间的关系之前,请确保检查以下两个主体: [C 数组](C 语言数组-CSDN博客)[C 指针](C 语言指针-CSDN博客) 数组…

springboot327基于Java的医院急诊系统

交流学习: 更多项目: 全网最全的Java成品项目列表 https://docs.qq.com/doc/DUXdsVlhIdVlsemdX 演示 项目功能演示: ————————————————

解决编译时提示“没有那个文件或目录 #include <pcap.h>”的问题

解决编译时提示“没有那个文件或目录 #include 当你在编译代码时遇到“没有那个文件或目录 #include <pcap.h>”的错误提示&#xff0c;这通常意味着编译器在你的系统路径中找不到 pcap.h 头文件。pcap.h 是网络流量捕获库 pcap 的头文件&#xff0c;用于在 C/C 程序中捕…

高效能人士的七个习惯

今天小编给大家推荐最近读的一本书&#xff0c;史蒂芬柯维的《高效能人士的七个习惯》&#xff0c;分别是积极主动、以始为终、要事第一、双赢思维、知己解彼、综合高效及不断更新。 一、个人领域&#xff1a;从依赖到独立 习惯一&#xff1a;积极主动——个人愿景的原则付诸行…

哪种猫罐头比较好?推荐给新手养猫的5款好口碑猫罐头!

新手养猫很容易陷入疯狂购买的模式&#xff0c;但有些品牌真的不能乱买&#xff01;现在的大环境不太好&#xff0c;我们需要学会控制自己的消费欲望&#xff0c;把钱花在刀刃上&#xff01;哪种猫罐头比较好&#xff1f;现在宠物市场真的很内卷&#xff0c;很多品牌都在比拼产…

雷达模糊函数及MATLAB仿真

文章目录 前言一、雷达模糊函数二、Matlab 仿真1、单脉冲模糊函数①、MATLAB 源码②、仿真结果1&#xff09;不确定函数三维图2&#xff09;不确定函数的等高图3&#xff09;模糊函数的三维图4&#xff09;模糊函数的等高图 2、单脉冲多普勒频率轴上的切面①、MATLAB 源码②、仿…

nvm安装详细教程(卸载旧的nodejs,安装nvm、node、npm、cnpm、yarn及环境变量配置)

文章目录 一、完全卸载旧的nodejs1、打开系统的控制面板&#xff0c;点击卸载程序&#xff0c;卸载nodejs&#xff08;1&#xff09;打开系统的控制面板&#xff0c;点击程序下的卸载程序&#xff08;2&#xff09;找到node.js&#xff0c;鼠标右击出现下拉框&#xff0c;点卸载…

11月编程语言排行榜出炉:C#超越Java已成定局!

TIOBE最新的编程语言排行榜刚刚出炉了&#xff0c;本月Java依然大幅下跌3.63%&#xff0c;C#本月上涨3.4%&#xff0c;C#和Java仅相差0.7%。 就像网友评论说的&#xff1a;Java成于互联网的兴起&#xff0c;败于互联网的衰落。 一直以来我也都是从事互联网行业、主要是电商行业…

redis高级案列case

案列一 双写一致性 案例二 双锁策略 package com.redis.redis01.service;import com.redis.redis01.bean.RedisBs; import com.redis.redis01.mapper.RedisBsMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; imp…

comfyui指北-1

https://colab.research.google.com/github/tieai/SDXL-ComfyUI-Colab/blob/main/SDXL_OneClick_ComfyUI.ipynb#scrollToSaAJk33ppFw1https://colab.research.google.com/github/tieai/SDXL-ComfyUI-Colab/blob/main/SDXL_OneClick_ComfyUI.ipynb#scrollToSaAJk33ppFw1 可以用上…

SpringCloud Alibaba组件入门全方面汇总(中):服务熔断降级-Sentinel

文章目录 Sentinel常见的容错思路Sentinel流量控制规则sentinel 自定义异常 sentinelresources 注解使用Feign整合Sentinel**面试题&#xff1a;结合Feign后&#xff0c;你在项目中的降级方法中会实现什么样的操作/功能&#xff1f;** Sentinel Sentinel是阿里巴巴开源的分布…

制作翻页电子书最简单的教程来也!

电子书是一种新时代的电子读物&#xff0c;由于比传统纸质书刊更加方便阅读&#xff0c;又非常便利储存&#xff0c;所以受到了很多人的喜爱。既然有这么多人喜爱阅读电子书&#xff0c;那你知道翻页电子书是怎么的吗&#xff1f; 其实翻页电子书制作并没有我们想象中的那么复…

rabbitMQ的direct模式的生产者与消费者使用案例

消费者C1的RoutingKey 规则按照info warn 两种RoutingKey匹配 绑定队列console package com.esint.rabbitmq.work03;import com.esint.rabbitmq.RabbitMQUtils; import com.rabbitmq.client.Channel; import com.rabbitmq.client.DeliverCallback;/*** 消费者01的消息接受*/ p…

使用Ganache搭建本地测试网并实现远程连接

文章目录 前言1. 安装Ganache2. 安装cpolar3. 创建公网地址4. 公网访问连接5. 固定公网地址 前言 Ganache 是DApp的测试网络&#xff0c;提供图形化界面&#xff0c;log日志等&#xff1b;智能合约部署时需要连接测试网络。 Ganache 是一个运行在本地测试的网络,通过结合cpol…
最新文章