当前位置: 首页 > news >正文

7个最受瞩目的 Python 库,提升你的开发效率

当今时代,数据分析和处理已经成为了各行各业中不可或缺的一环。Python作为一种非常流行的编程语言,为我们提供了许多强大的工具和库来处理不同类型的数据。

在这篇文章中,我将向您介绍七个非常有用的Python库,这些库各自有着独特的功能和用途,可以帮助你处理和分析不同类型的数据,提高你的数据分析和处理效率。

无论你是数据分析初学者,还是经验丰富的数据科学家,本文都会为你提供有价值的信息和入门案例。让我们一起深入了解这些强大的 Python 库吧!

1.Memray

在这里插入图片描述

memray 是一个Python库,它提供了一种可视化内存管理工具,可以帮助Python开发人员更好地理解和优化他们的代码中的内存使用情况。

它是由彭博社开发的,可用于分析Python程序中的内存泄漏和其他内存问题。以下是memray库的使用场景和入门案例:

使用场景:

  1. 优化内存使用:当你的Python程序使用大量内存时,可以使用memray库来识别哪些变量和对象正在占用大量内存,以便优化你的代码。
  2. 调试内存泄漏:当你的Python程序出现内存泄漏时,可以使用memray库来识别哪些变量和对象正在泄漏内存,以便进行调试。
  3. 分析对象引用:当你需要了解Python对象之间的引用关系时,可以使用memray库来分析对象之间的引用链,以便更好地理解代码。

如何使用:

假设你有一个Python程序,它读取大量的数据并处理它们。你发现这个程序在处理大量数据时会使用大量的内存。你想了解哪些变量和对象正在占用大量内存。

以下是使用memray库进行内存分析的入门案例:

首先,安装memray库:

pip install memray

然后,在你的Python程序中引入memray库并运行你的代码。当你的程序开始使用大量内存时,你可以使用memray库来识别内存占用情况。例如,你可以使用以下代码来获取程序中最大的内存使用量:

import memray
memray.print_max_usage()

这将打印出程序的最大内存使用量和使用最多内存的对象的信息。你可以使用这些信息来优化你的代码并减少内存使用。

此外,你可以使用memray库来分析对象之间的引用关系。例如,你可以使用以下代码来获取一个对象及其所有引用的对象的信息:

import memray
my_object = ...
memray.print_object_summary(my_object)

这将打印出my_object及其引用的所有对象的信息。你可以使用这些信息来更好地理解你的代码并优化内存使用。

总之,memray是一个非常有用的Python库,可以帮助开发人员更好地理解和优化他们的代码中的内存使用情况。它提供了一些实用的工具来识别内存占用情况、调试内存泄漏和分析对象引用关系。

https://github.com/bloomberg/memray

技术交流

技术要学会分享、交流,不建议闭门造车。一个人走的很快、一堆人可以走的更远。

本文来自技术群粉丝分享整理,文章源码、数据、技术交流,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、添加微信号:pythoner666,备注:来自CSDN +备注来意
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

2.Scrapy

==========

在这里插入图片描述

https://github.com/scrapy/scrap
scrapy是一个Python爬虫框架,它提供了一种简单、可扩展、高效的方式来爬取Web页面并提取有用的信息。以下是scrapy库的使用场景和入门案例:

使用场景:

  1. 爬取数据:当你需要从Web页面中获取数据时,可以使用scrapy框架来快速爬取和提取数据。
  2. 构建搜索引擎:当你需要构建一个搜索引擎时,可以使用scrapy框架来爬取和索引Web页面,以便提供搜索结果。
  3. 数据挖掘:当你需要对Web页面中的数据进行挖掘和分析时,可以使用scrapy框架来获取数据并进行处理。

如何使用:

假设你想从一个网站上获取所有文章的标题、作者和发布日期。以下是使用scrapy框架进行爬虫的入门案例:

首先,安装scrapy库:pip install scrapy

然后,在终端中进入一个你想要爬取的目录,并使用以下命令创建一个scrapy项目:

scrapy startproject myproject

这将在当前目录下创建一个名为“myproject”的目录,其中包含一个基本的scrapy项目结构。

接下来,在myproject/spiders目录下创建一个名为“my_spider.py”的文件,并在该文件中定义一个Spider类来实现爬虫逻辑。以下是一个示例:

import scrapyclass MySpider(scrapy.Spider):name = "myspider"start_urls = ["<http://www.example.com>"]def parse(self, response):for article in response.css(".article"):yield {"title": article.css("h2 a::text").get(),"author": article.css(".author::text").get(),"date": article.css(".date::text").get(),}next_page = response.css(".next-page a::attr(href)").get()if next_page:yield response.follow(next_page, self.parse)

在这个示例中,我们定义了一个名为“myspider”的Spider类,它的start_urls为"http://www.example.com",我们使用response.css()方法来选择要提取的元素,使用yield语句来返回提取的数据,使用response.follow()方法来获取下一页的链接并递归调用,我们需要在终端中进入myproject目录,并运行以下命令来运行爬虫:

scrapy crawl myspider -o output.json

这将启动名为“myspider”的爬虫,并将结果保存到一个名为“output.json”的文件中。在运行完命令后,你可以在myproject目录中找到生成的output.json文件,并查看爬取到的数据。

以上是一个简单的scrapy爬虫入门案例,你可以通过修改Spider类来自定义爬虫逻辑,并使用其他scrapy组件来实现更复杂的爬虫功能。

3.Networkx

在这里插入图片描述

如其名称所示,如果你想分析你的网络,那么这是一个好的资源。这是一个用于创建、操作和研究复杂网络的结构、动态和功能的库。它支持各种各样的特性,例如从各种数据源创建图形、测量网络属性等。它还提供了各种算法来分析和操作图形,例如中心度测量、最短路径算法等。它在 GitHub 上拥有超过 12k 个星。

使用场景:

  1. 分析社交网络:当你需要对社交网络进行分析时,可以使用networkx来构建网络图并计算网络的度、聚类系数、中心性等统计指标。
  2. 分析交通网络:当你需要对交通网络进行分析时,可以使用networkx来构建路网图并计算最短路径、最小生成树等路网指标。
  3. 分析生物网络:当你需要对生物网络进行分析时,可以使用networkx来构建蛋白质相互作用网络、代谢网络等生物网络,并计算网络的模块性、关键基因等生物学指标。

如何使用:

假设你想创建一个简单的网络图,并计算网络的一些基本指标,如节点度、平均路径长度和聚类系数。以下是使用networkx库进行网络分析的入门案例:

首先,安装networkx库:pip install networkx

然后,在Python交互式环境中导入networkx库,并创建一个简单的无向图:

import networkx as nxG = nx.Graph()
G.add_nodes_from([1, 2, 3, 4, 5])
G.add_edges_from([(1, 2), (1, 3), (2, 4), (3, 4), (4, 5)])

在这个示例中,我们创建了一个包含5个节点和5条边的无向图。接下来,我们可以使用networkx提供的函数来计算图的一些基本指标:

print(nx.degree(G))                  # 计算每个节点的度
print(nx.average_shortest_path_length(G))   # 计算图的平均路径长度
print(nx.average_clustering(G))              # 计算图的聚类系数

以上代码将分别输出每个节点的度,图的平均路径长度和聚类系数。你可以根据需要修改图的结构和指标的计算方法,以满足你的具体需求。

以上是一个简单的networkx入门案例,你可以通过修改图的结构和使用其他networkx函数来实现更复杂的网络分析功能。

https://github.com/networkx/network

4.Schedule

在这里插入图片描述

这是一个人性化的 Python 作业调度库。它使用友好的语法定期运行 Python 函数(或任何其他可调用函数)。它包括许多特性,例如用于定期作业的进程内调度程序(无需额外的进程)、非常轻量级且没有外部依赖项、具有极好的测试覆盖率等等。这个库在 GitHub 上拥有超过 10.5k 个

使用场景:

  1. 执行定时任务:当你需要按照指定的时间间隔执行任务时,可以使用schedule来定期运行Python函数,例如每隔一段时间执行一次数据备份任务。
  2. 执行周期性任务:当你需要按照指定的时间规律执行任务时,可以使用schedule来按照指定的周期性运行Python函数,例如每周日晚上执行一次数据库清理任务。

如何使用:

假设你想使用schedule定期运行一个Python函数,以下是使用schedule库的入门案例:

首先,安装schedule库:pip install schedule

然后,在Python脚本中导入schedule库,并定义一个Python函数来执行任务:

import schedule
import timedef job():print("I'm working...")schedule.every(10).seconds.do(job)    # 每10秒执行一次任务while True:schedule.run_pending()time.sleep(1)

在这个示例中,我们定义了一个名为job的函数,它会在每10秒钟执行一次,并输出一条消息。我们使用schedule库中的every函数来指定任务的执行时间,使用do函数来指定要执行的任务。

最后,我们使用一个while循环来不断地检查是否有任务需要执行,并使用time.sleep函数来让程序休眠1秒钟,以便减少CPU的占用率。

以上是一个简单的schedule入门案例,你可以根据需要修改任务的执行时间和要执行的任务,以实现更复杂的定时任务功能。

https://github.com/dbader/schedule

5.Word Cloud

在这里插入图片描述

如你所猜测的那样,如果你想生成一个词云图,那么这是一个好的资源。词云是一种显示文本中单词频率的图像,图像中单词的大小表示其在文本中的频率。

它提供了一个简单直观的 API,从文本数据生成词云,使其成为一种有用的工具,用于可视化文本数据并探索单词之间的关系。它在 GitHub 上拥有超过 9k 个星。

使用场景:

word_cloud 库通常应用于以下场景:

  • 文本数据分析和可视化:词云图可以直观地反映文本数据中的热点、关键词等信息。
  • 设计和排版:词云图可以作为设计元素,用于海报、卡片、书籍封面等排版。

如何使用:

下面是一个简单的入门案例,以演示如何使用word_cloud库生成一个词云图:

# 导入需要的库
from wordcloud import WordCloud
import matplotlib.pyplot as plt# 准备文本数据
text = "Hello world! Hello everyone! This is an example of word cloud."# 创建 WordCloud 对象
wordcloud = WordCloud().generate(text)# 将词云图显示出来
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()

以上代码的执行结果是生成一个简单的词云图,如下图所示:

在这里插入图片描述

在这个例子中,我们首先导入了需要的库,包括wordcloud和matplotlib.pyplot。然后,我们准备了一个简单的文本数据,用于生成词云图。

接着,我们创建了一个WordCloud对象,并通过generate()方法将文本数据转化为词云图。最后,我们使用matplotlib.pyplot中的imshow()方法将词云图显示出来,并通过axis(“off”)方法去掉坐标轴。

当然,我们还可以通过WordCloud对象的各种参数来调整词云图的外观和效果,例如:

# 创建 WordCloud 对象,并设置参数
wordcloud = WordCloud(background_color="white", max_words=100, contour_width=3, contour_color='steelblue').generate(text)# 将词云图显示出来
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()

这里我们增加了一些参数,例如background_color设置背景颜色为白色,max_words设置最多显示100个词语,contour_width和contour_color设置词云图的轮廓线宽度和颜色。

以上就是一个简单的使用word_cloud库的入门案例。当然,在实际应用中,我们可以根据不同的需求和场景,进一步调整和优化词云图的效果,例如设置字体、颜色、大小、布局等等。

https://github.com/amueller/word\_cloud

6.PySimpleGUI

在这里插入图片描述

该库将帮助您轻松创建复杂和多窗口应用程序。您可以使用包含小部件的“布局”指定 GUI 窗口(在 PySimpleGUI 中称为“元素”)。使用您的布局创建窗口,使用 4 个支持的框架之一来显示和与您的窗口交互。支持的框架包括 tkinter、Qt、WxPython 或 Remi。它包括 325+ 演示程序和快速入门指南。这个库在 GitHub 上拥有超过 11k 个星。

使用场景:

PySimpleGUI 库通常应用于以下场景:

  • 交互式应用程序:可以使用PySimpleGUI创建交互式的图形用户界面,例如文本编辑器、计算器、数据可视化应用等。
  • 嵌入式应用程序:PySimpleGUI也可以嵌入到其他应用程序中,例如在机器学习应用中显示模型预测结果。
  • 个人和小型项目:由于PySimpleGUI易于学习和使用,因此可以用于个人或小型项目的图形用户界面开发。

如何使用:

下面是一个简单的入门案例,以演示如何使用PySimpleGUI库创建一个简单的GUI程序:

# 导入需要的库
import PySimpleGUI as sg# 创建GUI布局
layout = [[sg.Text('Hello World')], [sg.Button('OK')]]# 创建窗口
window = sg.Window('My first GUI program', layout)# 循环获取事件
while True:event, values = window.read()if event == sg.WIN_CLOSED or event == 'OK':break# 关闭窗口
window.close()

以上代码的执行结果是创建一个窗口,其中包含一个文本标签和一个按钮,如下图所示:

在这里插入图片描述

在这个例子中,我们首先导入了需要的库,包括PySimpleGUI。然后,我们创建了一个GUI布局,包含一个文本标签和一个按钮。接着,我们创建了一个窗口,并将GUI布局传递给窗口。

在窗口创建后,我们进入一个循环中,使用window.read()方法不断获取事件和值,如果事件是窗口关闭事件或者按钮点击事件,就退出循环。最后,我们使用window.close()方法关闭窗口。

当然,我们还可以通过PySimpleGUI库的各种功能和组件来进一步定制和优化GUI程序,例如添加菜单、滚动条、图像等等。此外,PySimpleGUI还支持多种主题和风格,可以根据不同的需求和场景进行选择和调整。

https://github.com/PySimpleGUI/PySimpleGUI

7.Shap

在这里插入图片描述

shap是一个用于可解释机器学习的Python库,它提供了一些可视化工具和计算方法来解释和理解机器学习模型的预测结果。下面我将按照使用场景和入门案例的结构来介绍该库。

使用场景:

shap 库通常应用于以下场景:

  • 可解释机器学习:使用 shap 可以更好地理解和解释机器学习模型的预测结果,从而提高模型的可解释性和可信度。
  • 特征重要性评估:shap可以计算出每个特征对模型预测的贡献度,从而评估特征的重要性,这对于特征选择和特征工程有很大的帮助。
  • 模型优化和改进:通过分析 shap 值,我们可以发现模型预测中存在的错误和偏差,并针对性地进行优化和改进。

如何使用:

下面是一个简单的入门案例,以演示如何使用shap库解释和理解机器学习模型的预测结果:

# 导入需要的库和数据集
import xgboost
import shap
import pandas as pdX,y = shap.datasets.iris()# 训练一个XGBoost分类器
model = xgboost.train({"learning_rate": 0.01}, xgboost.DMatrix(X, label=y), 100)# 计算特征重要性和shap值
explainer = shap.Explainer(model)
shap_values = explainer(X)# 可视化shap值
shap.plots.beeswarm(shap_values)

以上代码的执行结果是计算并可视化shap值,如下图所示:
在这里插入图片描述

在这个例子中,我们首先导入需要的库和数据集,包括xgboost、shap和iris数据集。然后,我们训练了一个XGBoost分类器,并使用shap.Explainer计算出特征重要性和shap值。最后,我们使用shap.plots.beeswarm方法可视化shap值,其中每个点表示一个样本,横坐标表示特征的shap值,纵坐标表示样本在数据集中的索引。

通过这个例子,我们可以看到shap库可以非常方便地计算和可视化机器学习模型的可解释性信息,例如特征重要性和shap值。此外,shap还提供了许多其他的可视化和计算方法,例如force plot和dependence plot,可以进一步帮助我们理解和解释机器学习模型的预测结果。

https://github.com/slundberg/shap

结束

到这里,本篇文章就介绍完了,这七个库的使用场景各不相同,但都有着很高的实用价值和广泛的应用范围。如果你正在寻找Python库来帮助你解决不同的数据分析和处理问题,那么这些库肯定值得你一试。

相关文章:

7个最受瞩目的 Python 库,提升你的开发效率

当今时代&#xff0c;数据分析和处理已经成为了各行各业中不可或缺的一环。Python作为一种非常流行的编程语言&#xff0c;为我们提供了许多强大的工具和库来处理不同类型的数据。 在这篇文章中&#xff0c;我将向您介绍七个非常有用的Python库&#xff0c;这些库各自有着独特…...

这些IT行业趋势,将改变2023

上一周&#xff0c;你被"AI"刷屏了吗&#xff1f; 打开任何一家科技媒体&#xff0c;人工智能都是不变的热门话题。周初大家还在用ChatGPT写论文、查资料、写代码&#xff0c;到周末的时候大家已经开始用GPT-4图像识别来做饭、Microsoft 365 Copilot 来写PPT了。 GP…...

蓝桥杯每日一真题——[蓝桥杯 2021 省 B] 杨辉三角形(二分+规律)

文章目录[蓝桥杯 2021 省 B] 杨辉三角形题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示思路&#xff1a;全部代码&#xff1a;[蓝桥杯 2021 省 B] 杨辉三角形 题目描述 下面的图形是著名的杨辉三角形: 如果我们按从上到下、从左到右的顺序把所有数排成一列&…...

<C++> 类和对象(下)

1.const成员函数将const修饰的“成员函数”称之为const成员函数&#xff0c;const修饰类成员函数&#xff0c;实际修饰该成员函数隐含的this指针&#xff0c;表明在该成员函数中不能对类的任何成员进行修改。class A { public:void Print() //这里隐藏了A* this指针{cout <…...

基于Springboot+Vue2前后端分离框架的智慧校园系统源码,智慧学校源码+微信小程序+人脸电子班牌

▶ 智慧校园开发环境&#xff1a; 1、使用springboot框架Javavue2 2、数据库MySQL5.7 3、移动端小程序使用小程序原生语音开发 4、电子班牌固件安卓7.1&#xff1b;使用Java Android原生 5、elmentui &#xff0c;Quartz&#xff0c;jpa&#xff0c;jwt 智慧校园结构导图▶ 这…...

JavaEE-线程安全问题

1.线程安全的概念 如果多线程环境下代码运行的结果是符合我们预期的&#xff0c;即在单线程环境应该的结果&#xff0c;则说这个程序是线 程安全的. 为啥会出现线程安全问题? 本质原因: 线程在系统中的调度是无序的/随机的 (抢占式执行). 2.开始说明 先看个线程不安全的例子…...

【Node.js】身份认证,Cookie和Session的认证机制,express中使用session认证和JWT认证

Node.jsWeb开发模式如何选择Web开发模式身份认证什么是身份认证为什么要身份认证不同开发模式的身份认证Session认证机制提高身份认证的安全性Session的工作原理Express中使用Session认证Session认证机制的局限性JWT认证机制JWT的工作原理JWT的组成部分Express中使用JWT在登录成…...

Redis删除策略和淘汰策略

一、删除策略 删除策略就是针对已过期数据的处理策略。 针对过期数据要进行删除的时候都有哪些删除策略呢&#xff1f; 1.定时删除2.惰性删除3.定期删除1、立即删除 当key设置有过期时间&#xff0c;且过期时间到达时&#xff0c;由定时器任务立即执行对键的删除操作。 优…...

LFM雷达实现及USRP验证【章节2:LFM雷达测距】

目录 1. 参数设计 几个重要的约束关系 仿真参数设计 2. matlab雷达测距代码 完整源码 代码分析 回顾&#xff1a;LFM的基本原理请详见第一章 本章节将介绍LFM雷达测距的原理及实现 1. 参数设计 几个重要的约束关系 带通采样定理&#xff1a; 因此如果我们B80MHz时&a…...

菜鸟刷题Day5

⭐作者&#xff1a;别动我的饭 ⭐专栏&#xff1a;菜鸟刷题 ⭐标语&#xff1a;悟已往之不谏&#xff0c;知来者之可追 一.一维数组的动态和&#xff1a;1480. 一维数组的动态和 - 力扣&#xff08;LeetCode&#xff09; 描述 给你一个数组 nums 。数组「动态和」的计算公式…...

已解决AttributeError:module tensorflow no attribute app异常的正确解决方法,亲测有效!!!

已解决AttributeError&#xff1a;module tensorflow no attribute app异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 文章目录报错问题解决方法福利报错问题 粉丝群里面的一个小伙伴敲代码时发生了报错&#xff08;当时他心里瞬间凉了一大截&…...

Hadoop集群环境配置搭建

一、简单介绍 Hadoop最早诞生于Cutting于1998年左右开发的一个全文文本搜索引擎 Lucene&#xff0c;这个搜索引擎在2001年成为Apache基金会的一个子项目&#xff0c;也是 ElasticSearch等重要搜索引擎的底层基础。 项目官方&#xff1a;https://hadoop.apache.org/ 二、Linux环…...

Thread类的基本用法

Thread类的基本用法&#x1f50e;1.线程创建&#x1f33b;继承Thread类&#x1f33c;继承Thread重写run()方法&#x1f33c;继承Thread匿名内部类&#x1f33b;实现Runnable接口&#x1f33c;实现Runnable接口重写run()方法&#x1f33c;实现Runnable接口匿名内部类&#x1f33…...

YOLOV8改进:如何增加注意力模块?(以CBAM模块为例)

YOLOV8改进&#xff1a;如何增加注意力模块&#xff1f;&#xff08;以CBAM模块为例&#xff09;前言YOLOV8nn文件夹modules.pytask.pymodels文件夹总结前言 因为毕设用到了YOLO&#xff0c;鉴于最近V8刚出&#xff0c;因此考虑将注意力机制加入到v8中。 YOLOV8 代码地址&am…...

Spark Streaming DStream的操作

一、DStream的定义 DStream是离散流&#xff0c;Spark Streaming提供的一种高级抽象&#xff0c;代表了一个持续不断的数据流。DStream可以通过输入数据源来创建&#xff0c;比如Kafka、Flume&#xff0c;也可以通过对其他DStream应用高阶函数来创建&#xff0c;比如map、redu…...

蓝桥杯冲刺 - week1

文章目录&#x1f4ac;前言&#x1f332;day192. 递归实现指数型枚举843. n-皇后问题&#x1f332;day2日志统计1209. 带分数&#x1f332;day3844. 走迷宫1101. 献给阿尔吉侬的花束&#x1f332;day41113. 红与黑&#x1f332;day51236. 递增三元组&#x1f332;day63491. 完全…...

Leetcode27. 移除元素

目录一、题目描述&#xff1a;二、解决思路和代码1. 解决思路2. 代码一、题目描述&#xff1a; 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用…...

ViewService——一种保证客户端与服务端同步的方法

简介在分布式系统中&#xff0c;最常见的场景就是主备架构。但是如果主机不幸宕机&#xff0c;如何正确的通知客户端当前后端服务器的状况成为一个值得研究的问题。本文描述了一种简单的模型用于解决此问题。背景以一个分布式的Key-Value数据库为背景。数据库对外提供3个接口Ge…...

使用STM32F103ZE开发贪吃蛇游戏

目录 前言 一、设置FreeROTS用户任务 &#xff08;1&#xff09;事件event任务 &#xff08;2&#xff09;按键输入方向控制任务 &#xff08;3&#xff09;果实食物任务 &#xff08;4&#xff09;显示任务函数 &#xff08;3&#xff09;开始任务 二、主函数 三、ADC采样…...

如何利用Web3D技术打造在线虚拟展览馆

随着Web3D技术的不断发展&#xff0c;越来越多的企业和组织开始将其应用于虚拟展览馆的建设中。虚拟展览馆可以为观众提供高度沉浸式的展览体验&#xff0c;让观众可以随时随地参观各种展览&#xff0c;同时也为展览组织者提供了更多的展示方式和机会。下面将介绍如何利用Web3D…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...

WEB3全栈开发——面试专业技能点P4数据库

一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库&#xff0c;基于 mysql 库改进而来&#xff0c;具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点&#xff1a; 支持 Promise / async-await&#xf…...

Redis上篇--知识点总结

Redis上篇–解析 本文大部分知识整理自网上&#xff0c;在正文结束后都会附上参考地址。如果想要深入或者详细学习可以通过文末链接跳转学习。 1. 基本介绍 Redis 是一个开源的、高性能的 内存键值数据库&#xff0c;Redis 的键值对中的 key 就是字符串对象&#xff0c;而 val…...

「Java基本语法」变量的使用

变量定义 变量是程序中存储数据的容器&#xff0c;用于保存可变的数据值。在Java中&#xff0c;变量必须先声明后使用&#xff0c;声明时需指定变量的数据类型和变量名。 语法 数据类型 变量名 [ 初始值]; 示例&#xff1a;声明与初始化 public class VariableDemo {publi…...