首页 > Python资料 博客日记
Python筑基之旅-搭建Python开发环境及库
2024-06-02 13:00:04Python资料围观182次
目录
一、搭建Python开发环境
1、开发环境:
1-1、PyCharm版本:pycharm-community-2024.1.1(下载地址:Download PyCharm: The Python IDE for data science and web development by JetBrains)
1-2、Python版本:Python 3.11.8(下载地址:Python Releases for Windows | Python.org)
若有不知道系统状态的,请在电脑桌面找到“我的电脑”或“此电脑”图标(根据Windows版本,会有差异),用鼠标右键单击,选择属性:
2、安装操作:
2-1、安装PyCharm
找到上面下载的pycharm-community-2024.1.1安装程序(注:我的在E:\360Downloads\下面,请根据自己下载路径查找),如下图:
双击“pycharm-community-2024.1.1.exe”,开始安装:
按选“下一步(N)”按钮:
(我的安装路径:E:\Program Files\JetBrains\PyCharm Community Edition 2024.1.1,切勿装在C盘中)
按选“下一步(N)”按钮:
按选“下一步(N)”按钮:
按选“安装(I)”按钮:
点击“完成(F)”按钮即可。
2-2、安装Python
找到上面下载的python-3.11.8-amd64安装程序(注:我的在E:\360Downloads\下面,请根据自己下载路径查找),如下图:
双击“python-3.11.8-amd64.exe”,开始安装:
单击“Cutomize installation” ,进入以下界面:
按选“Next”按钮:
按选“Install”按钮:
单击“Close”按钮即可完成安装。
3、配置环境:
在电脑桌面,找到“PyCharm Community Edition 2024.1.1”图标,鼠标双击启动软件:
在左上角的主菜单栏,找到File(快捷键:Alt+F),即文件,如下图所示(注:不习惯英文的,可以先做汉化处理,方法在后面):
单击Settings(直接按T)后,进入Settings界面,如下:
单击“Show All...”,进入Python Interpreters界面:
单击“+”后,进入Add Python Interpreter界面:
按选“ok”按钮,返回之前的Python Interpreters界面(注意界面内容变化),如下:
按选“ok”按钮,返回Settings界面(注意界面内容变化),如下:
最后,单击“ok”按钮即可完成相关开发环境配置。
二、如何安装插件及第三方库?
1、安装插件:
打开pycharm-community-2024.1.1(注:我用的版本)后,考虑到新装的软件没有做汉化处理,因此,分两种情况进行指引:
1-1、英文版:在左上角的主菜单栏,找到File(快捷键:Alt+F),即文件,如下图所示:
单击Settings(直接按T)后,进入Settings界面,如下:
接着按Reset,会弹出下述界面:
然后,再按Restart按钮,重启pycharm-community-2024.1.1软件即可(注:使用于没有其他程序运行的情况)。若有其他程序处于运行中,则会出现下述界面(此处后续不再累述):
继续单击Exit按钮,即可完成重启 IDE操作。
或者在软件界面,用快捷键:Ctrl+Alt+S,直接可以进入上述Settings界面进行相关插件安装操作。
1-2、汉化版:在左上角的主菜单栏,找到文件(快捷键:Alt+F),如下图所示:
单击设置(直接按T)后,进入设置界面,如下:
安装完成后,若插件不要求重启 IDE,则可以直接完成插件安装。注意,遇到有些插件需要重启 IDE操作,如下图:
此时,则需要重启 IDE后,才能正常使用插件功能。
或者在软件界面,用快捷键:Ctrl+Alt+S,直接可以进入上述设置界面进行相关插件安装操作。
2、安装第三方库:
打开pycharm-community-2024.1.1(注:我用的版本)后,考虑到新装的软件没有做汉化处理,因此,分两种情况进行指引:
2-1、英文版:在左上角的主菜单栏,找到File(快捷键:Alt+F),即文件,如下图所示:
单击Settings(直接按T)后,进入Settings界面,如下:
单击“+”后,进入如下界面:
若安装成功,则会显示如下:
关闭当前Available Packages界面后,返回Settings界面,即可看到最近安装的第三库相关信息:
或者在软件界面,用快捷键:Ctrl+Alt+S,直接可以进入上述Settings界面进行相关第三库安装操作。
2-2、汉化版:在左上角的主菜单栏,找到文件(快捷键:Alt+F),如下图所示:
单击设置(直接按T)后,进入设置界面,如下:
单击“+”后,进入如下界面:
若安装成功,则会显示如下:
关闭当前可用软件包界面后,返回设置界面,即可看到最近安装的第三库相关信息:
或者在软件界面,用快捷键:Ctrl+Alt+S,直接可以进入上述设置界面进行相关第三方库安装操作。
三、Python中有哪些常用内置标准库?
Python的内置标准库非常丰富,涵盖了从基本的数据类型操作到复杂的网络编程和文件处理等各个方面,以下是一些常用的Python内置标准库:
1、math:提供了数学函数和常量,如三角函数、对数函数、阶乘等。
2、random:用于生成随机数,包括随机整数、随机浮点数、随机选择元素等。
3、os:提供了与操作系统交互的接口,如读取环境变量、文件和目录操作等。
4、sys:提供了与Python解释器交互的接口,如命令行参数、Python解释器版本信息等。
5、re:正则表达式库,用于字符串的匹配和搜索。
6、json:用于解析和生成JSON格式的数据。
7、datetime:提供了日期和时间处理功能,包括时区、日历计算等。
8、collections:提供了除内置数据类型之外的额外容器类型,如deque(双端队列)、defaultdict(带默认值的字典)等。
9、itertools:提供了用于创建迭代器的高效、快速、具有组合数学性质的迭代器。
10、functools:提供了高阶函数,如偏函数(partial function)、函数装饰器(decorator)等。
11、logging:用于记录日志信息,支持多种日志级别和输出格式。
12、threading:提供了多线程编程的支持,包括线程的创建、同步、通信等。
13、subprocess:允许你从Python程序中调用其他程序或命令,并获取其输出。
14、urllib和http.client:用于网络编程,包括HTTP请求、URL处理等。
15、socket:提供了底层网络通信的支持,可以创建TCP/UDP套接字进行网络通信。
16、email:用于处理电子邮件的发送和接收。
17、xml.etree.ElementTree:用于解析XML文档。
18、csv:用于读写CSV(逗号分隔值)文件。
19、zipfile:用于读写ZIP格式的文件。
20、tarfile:用于读写tar格式的归档文件。
21、hashlib:提供了各种哈希算法的实现,如MD5、SHA等。
22、hmac:提供了密钥相关的哈希算法的实现。
23、decimal:用于进行高精度浮点数运算。
24、fractions:提供了有理数支持。
25、locale:提供了本地化和国际化支持。
26、time:提供了时间相关的函数,如获取当前时间、时间格式化等。
27、argparse:用于编写命令行界面。
这只是Python内置标准库中的一部分,实际上Python的标准库非常庞大,几乎涵盖了所有常见的编程需求,你可以通过查阅Python官方文档来了解更多关于这些库的信息和用法。
四、 Python各发展方向主要库有哪些?
Python的发展方向是多元化的,随着技术的不断发展和应用领域的扩大,其应用领域和岗位需求也在不断增加,其各发展方向的主流库有:
1、Web开发
Python在Web开发领域拥有广泛的应用,其标准库和第三方库提供了丰富的功能和工具。以下是一些常用的Python Web开发标准库和第三方库:
1-1、标准库:
1-1-1、http.server:一个简单的HTTP服务器,通常用于测试和开发目的。
1-1-2、urllib:一个用于打开和读取URLs(统一资源定位符)的模块,它包含一些打开URLs的子模块(如urllib.request和urllib.parse)。
1-1-3、wsgiref:一个WSGI(Web服务器网关接口)工具和库的集合,用于开发Web服务器和Web应用程序。
1-2、第三方库:
1-2-1、Django:
1-2-1-1、官网:https://www.djangoproject.com/
1-2-1-2、特点:Django是一个高层次的Python Web开发框架,注重快速开发、设计优良且文档完善,它遵循MVC设计模式,提供了一整套完善的开发工具和丰富的功能。
1-2-2、Flask:
1-2-2-1、官网:https://flask.palletsprojects.com/en/latest/
1-2-2-2、特点:Flask是一个轻量级的Web开发框架,被称为“微框架”,它只提供了基本的Web服务器和路由功能,但可以轻松地扩展和集成其他库和工具。
1-2-3、Pyramid:
1-2-3-1、官网:https://trypyramid.com/
1-2-3-2、特点:Pyramid是一个灵活且可扩展的Web开发框架,支持多种Web开发范式,如MVC、MVC变体等,它提供了丰富的功能和配置选项,可以满足不同规模和复杂度的Web应用需求。
1-2-4、Scrapy:
1-2-4-1、官网:https://scrapy.org/
1-2-4-2、特点:Scrapy是一个用于网络爬虫的快速、高级Web框架,它可以从网站上提取结构化数据,Scrapy框架包含了许多用于数据抓取和处理的内置组件和工具。
1-2-5、BeautifulSoup:
1-2-5-1、官网:https://www.crummy.com/software/BeautifulSoup/bs4/doc/
1-2-5-2、特点:BeautifulSoup是一个用于解析HTML和XML文档的Python库,它可以将复杂的HTML或XML文档转换成一个树形结构,并提供了一系列方法来查找、修改和提取数据。
1-2-6、Requests:
1-2-6-1、官网:https://docs.python-requests.org/en/latest/
1-2-6-2、特点:Requests是一个用于发送HTTP请求的Python库,它提供了简单易用的API,可以轻松地发送GET、POST等请求,并处理响应数据。
1-2-7、SQLAlchemy:
1-2-7-1、官网:https://www.sqlalchemy.org/
1-2-7-2、特点:SQLAlchemy是一个Python SQL工具包和对象关系映射(ORM)系统,它为应用程序开发人员提供了SQL的全部功能和灵活性,以及安全可靠的数据库访问。
1-2-8、Jinja2:
1-2-8-1、官网:https://jinja.palletsprojects.com/en/3.0.x/
1-2-8-2、特点:Jinja2是一个现代的、设计友好的模板引擎,用于Python,它受到Django模板引擎和Python的启发,但比Django模板更加灵活、快速和安全。
2、网络编程
Python在网络编程方面拥有众多强大的标准库和第三方库。以下是一些主要的示例:
2-1、标准库:
2-1-1、socket:这是Python中进行底层网络编程的接口。它提供了TCP、UDP、原始套接字等多种网络协议的支持,使用socket库,你可以创建服务器和客户端应用程序,进行数据的发送和接收。
2-1-2、ssl:这个库提供了对SSL和TLS协议的支持,用于在网络上进行安全的通信,你可以使用ssl库来加密和解密数据,确保数据在传输过程中的安全性。
2-1-3、asyncio:这是一个用于异步I/O、事件循环、协程和任务的库,在网络编程中,异步编程通常用于处理高并发的场景,asyncio库可以帮助你编写高效的异步网络应用程序。
2-2、第三方库:
2-2-1、requests:这是一个非常流行的HTTP库,它提供了简洁易用的API来发送HTTP请求和接收HTTP响应,requests库支持多种HTTP方法,包括GET、POST、PUT、DELETE等,并且支持多种认证方式。
2-2-2、urllib3:与requests类似,urllib3也是一个功能强大的HTTP库,它提供了线程安全的连接池、文件上传、重试机制等功能,并且支持多种HTTP协议和认证方式。
2-2-3、httpx:httpx是一个强大的HTTP客户端库,它结合了requests和asyncio的优点,支持同步和异步两种编程方式,httpx库提供了简洁易用的API和丰富的功能,如重定向、重试、超时、代理等。
2-2-4、Twisted:Twisted是一个事件驱动的网络编程框架,它提供了丰富的API和工具来构建高效、可扩展的网络应用程序,Twisted支持多种网络协议和并发模型,并且具有强大的异步处理能力。
2-2-5、PySocks:PySocks是一个用于Socket编程的库,它提供了对SOCKS代理的支持,使用PySocks库,你可以轻松地通过SOCKS代理进行网络通信,实现匿名访问、负载均衡等功能。
3、数据分析与大数据处理
Python在数据分析与大数据处理领域有着广泛的应用,它提供了一系列标准库和第三方库来支持这一工作,以下是一些主要的库:
3-1、标准库:
Python的标准库本身并没有直接针对数据分析和大数据处理的特定库,但它提供了一些基础的数据结构和功能,如列表、字典、元组、集合等,可以用于处理和分析数据。
3-2、第三方库:
3-2-1、NumPy:NumPy是Python中用于科学计算的基础库,它提供了高性能的多维数组对象,以及用于数组操作的丰富工具,NumPy是数据分析领域的基础库,许多其他库都依赖于它。
3-2-2、Pandas:Pandas是Python中最常用的数据处理和分析库之一,它提供了高效的数据结构和数据分析工具,如DataFrame和Series,可以用于数据清洗、转换、合并、筛选等操作,Pandas还支持时间序列数据分析和操作。
3-2-3、Matplotlib:Matplotlib是Python中常用的数据可视化库,它提供了丰富的绘图函数和工具,可以绘制各种类型的图表和可视化效果,如线图、散点图、柱状图等,Matplotlib还提供了许多自定义选项,可以根据需要进行调整和优化。
3-2-4、Seaborn:Seaborn是一个基于Matplotlib的数据可视化库,提供了更高级的统计图表和绘图样式,它专注于绘制美观且具有洞察力的图形,支持多种数据类型的可视化。
3-2-5、Scikit-learn:Scikit-learn是一个用于机器学习和数据挖掘的库,包括各种分类、回归、聚类和降维算法,它提供了简单易用的API和丰富的文档,可以方便地构建和评估机器学习模型。
3-2-6、Statsmodels:Statsmodels是一个用于统计建模和计量经济学的库,提供了各种统计模型和方法,它支持时间序列分析、回归分析、假设检验等功能,可以用于处理和分析各种类型的数据。
3-2-7、PySpark:PySpark是Apache Spark的Python API,可以用于大规模数据集的分布式处理,Spark是一个快速、通用的大规模数据处理引擎,可以用于批处理、流处理、交互式查询和机器学习等任务,PySpark提供了与Spark无缝集成的Python接口,使得在Python中进行大规模数据处理变得简单而高效。
4、自动化与脚本编写
Python在自动化和脚本编写方面有着广泛的应用,提供了许多标准库和第三方库来支持这些需求,以下是一些主要的库:
4-1、标准库:
4-1-1、os:os模块提供了与操作系统交互的功能,包括文件、目录、进程等的管理。它允许你执行许多系统相关的任务,如列出目录内容、读取文件、执行外部命令等。
4-1-2、subprocess:subprocess模块允许你从Python脚本中启动新的应用程序,并与其进行交互。你可以使用它来运行系统命令、捕获输出、处理错误等。
4-1-3、argparse:argparse模块用于编写用户友好的命令行接口,它可以帮助你解析命令行参数和选项,并生成帮助文档。
4-2、第三方库:
4-2-1、PyAutoGUI:PyAutoGUI是一个纯Python的GUI自动化工具,可以用于模拟鼠标操作和键盘输入,它非常适合编写自动化脚本,如自动化测试、屏幕截图、图像识别等。
4-2-2、Selenium:Selenium是一个用于自动化Web浏览器操作的库,它支持多种浏览器和平台,并提供了丰富的API来模拟用户与网页的交互,如点击按钮、填写表单、滚动页面等,Selenium非常适合编写Web自动化测试脚本。
4-2-3、Robot Framework:Robot Framework是一个通用的自动化框架,支持关键字驱动的测试方法,它允许你使用自然语言编写测试用例,并通过插件机制扩展其功能,Robot Framework可以用于自动化测试、系统验证、数据驱动测试等场景。
4-2-4、PyWinAuto:PyWinAuto是一个专门用于Windows GUI自动化的库,它提供了对Windows窗口、控件和消息的访问和操作,可以模拟用户与Windows应用程序的交互,PyWinAuto非常适合在Windows平台上编写自动化脚本。
4-2-5、Fabric:Fabric是一个用于远程服务器自动化的Python库,它允许你通过SSH连接到远程服务器,并执行命令、上传和下载文件、管理用户等任务,Fabric非常适合在DevOps和自动化部署场景中使用。
4-2-6、Paramiko:Paramiko是一个实现了SSHv2协议的Python库,支持连接和操作SSH服务,你可以使用Paramiko来连接到远程服务器,并执行命令、上传和下载文件等任务,Paramiko提供了与SSH服务交互的底层接口,使得在Python中进行SSH自动化变得简单而高效。
5、人工智能与机器学习
Python在人工智能(AI)和机器学习(ML)领域有着广泛的应用,并且拥有众多标准库和第三方库来支持这些应用,然而,Python本身并没有专门用于AI和ML的标准库,但有一些第三方库在这一领域特别受欢迎和常用。
5-1、标准库:
Python本身并没有专门用于AI和ML的标准库。
5-2、第三方库:
5-2-1、TensorFlow:TensorFlow是Google开发的开源机器学习库,广泛用于各种机器学习应用,包括深度学习,它提供了强大的计算图模型,可以轻松地表示和训练复杂的神经网络。
5-2-2、PyTorch:PyTorch是另一个流行的深度学习库,由Facebook开发,它提供了动态计算图,使得构建和调试神经网络变得更加灵活和直观,PyTorch还支持GPU加速,可以大大提高训练速度。
5-2-3、Keras:Keras是一个高级神经网络API,可以运行在TensorFlow、Theano或CNTK之上,它提供了简洁易用的接口,使得构建和训练神经网络变得更加简单,Keras非常适合快速原型设计和实验。
5-2-4、scikit-learn:scikit-learn是一个为数据挖掘和数据分析提供的简单高效的工具,它建立在NumPy、SciPy和matplotlib之上,它提供了各种机器学习算法,如分类、回归、聚类、降维等,并且具有良好的文档和社区支持。
5-2-5、NumPy:NumPy是Python的一个开源数值计算扩展,它支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,NumPy是许多机器学习库的基础,如scikit-learn和TensorFlow等。
5-2-6、SciPy:SciPy是一个开源的Python算法库和数学工具包,它提供了许多科学计算中常用的函数和模块,如线性代数、积分、插值、优化等,SciPy在数据分析和机器学习等领域也有广泛的应用。
5-2-7、OpenAI Gym:Gym是OpenAI开发的一个开源库,用于开发和比较强化学习算法,它提供了许多预设的环境和任务,使得研究人员可以轻松地测试和评估他们的算法。
5-2-8、NLTK:NLTK是Python的自然语言处理库,提供了许多用于文本处理和分析的工具和算法,如分词、词性标注、句法分析等,虽然自然语言处理与机器学习有所不同,但两者经常结合使用,因此NLTK也在AI和ML领域有一定的应用。
6、科学计算与可视化
Python在科学计算和可视化方面提供了丰富的标准库和第三方库。以下是一些主要的库:
6-1、标准库:
Python的标准库并没有直接针对科学计算和可视化的特定库。
6-2、第三方库:
6-2-1、NumPy:NumPy是Python中用于科学计算的基础库,提供了高性能的多维数组对象,以及用于数组操作的丰富工具,它支持大量的维度数组与矩阵运算,并且与许多其他科学计算库(如SciPy、Pandas等)兼容。
6-2-2、SciPy:SciPy是一个基于NumPy的开源科学计算库,提供了许多数学、科学和工程领域常用的函数和算法,如线性代数、积分、插值、优化、信号处理等,它还包括了专门用于统计分析、图像处理、机器学习等任务的模块。
6-2-3、Pandas:Pandas是一个用于数据分析和处理的库,提供了高效的数据结构和数据分析工具,如DataFrame和Series,它支持数据清洗、转换、合并、筛选等操作,并且可以与NumPy和SciPy等库无缝集成。
6-2-4、Matplotlib:Matplotlib是Python中最常用的数据可视化库之一,提供了丰富的绘图函数和工具,可以绘制各种类型的图表和可视化效果,如线图、散点图、柱状图、饼图等,它还支持自定义样式和交互功能。
6-2-5、Seaborn:Seaborn是一个基于Matplotlib的数据可视化库,提供了更高级的统计图表和绘图样式,它专注于绘制美观且具有洞察力的图形,支持多种数据类型的可视化,并且具有简洁易用的API。
6-2-6、Plotly:Plotly是一个基于Web的交互式数据可视化库,它可以在Jupyter Notebook等环境中直接生成交互式的图表和图形,Plotly支持多种类型的图表和可视化效果,并且可以与Python、R、JavaScript等语言集成。
6-2-7、Bokeh:Bokeh是一个用于创建交互式Web图形的Python库,它可以在浏览器中呈现复杂的可视化效果,Bokeh支持大规模数据集的可视化,并且提供了丰富的交互式功能和控件。
7、嵌入式系统开发
7-1、标准库:
Python本身并没有直接针对嵌入式系统开发的标准库。
7-2、第三方库:
7-2-1、MicroPython:MicroPython是Python 3的一个精简实现,可以在微控制器和受限环境中运行,它提供了Python语言的核心功能,包括语法、数据类型、内置函数和模块等,但去除了一些不适合嵌入式系统的特性,MicroPython支持多种微控制器和板卡,如ESP8266、ESP32、Raspberry Pi Pico等。
7-2-2、PySerial:PySerial是一个用于串行通信的Python库,它提供了与串行端口进行交互的接口,在嵌入式系统开发中,经常需要与硬件设备进行串行通信,以传输数据或控制设备,PySerial可以方便地实现这一功能。
7-2-3、PyUSB:PyUSB是一个用于USB通信的Python库,它提供了与USB设备进行交互的接口,在嵌入式系统开发中,有时需要通过USB接口与外设进行通信,PyUSB可以帮助你实现这一功能。
7-2-4、RPi.GPIO:RPi.GPIO是一个专门用于Raspberry Pi GPIO控制的Python库,它提供了对Raspberry Pi GPIO引脚的访问和控制功能,使得你可以通过Python脚本来控制连接到GPIO引脚上的硬件设备。
7-2-5、Adafruit_CircuitPython_XXX:Adafruit提供了一系列基于CircuitPython的库,用于与各种传感器、执行器和模块进行交互,CircuitPython是MicroPython的一个分支,专门用于物联网和嵌入式系统开发,这些库包括Adafruit_GPIO、Adafruit_DHT、Adafruit_BMP等,分别用于GPIO控制、温湿度传感器读取、气压传感器读取等功能。
7-2-6、wiringPi:wiringPi是一个用于GPIO控制的C库,但它也提供了Python绑定,它支持多种Linux系统上的GPIO引脚,并且提供了简单的API来控制这些引脚,虽然它不是专门为Python设计的,但你可以通过Python的ctypes模块来调用它。
8、爬虫开发
8-1、标准库:
8-1-1、urllib:这是Python的标准库之一,提供了基本的URL处理功能,包括打开和读取URLs、发送HTTP/HTTPS请求等,虽然它本身功能有限,但可以作为构建更复杂爬虫的基础。
8-2、第三方库:
8-2-1、requests:requests库是Python中最流行的HTTP库之一,它提供了简洁易用的API来发送HTTP请求,并支持多种HTTP方法(如GET、POST、PUT等),requests库还支持自动处理URL编码、cookies、重定向等常见任务。
8-2-2、Scrapy:Scrapy是一个功能强大的网络爬虫框架,它支持快速高效地抓取网站数据,Scrapy具有高度的可扩展性和可配置性,允许你根据自己的需求定制爬虫的行为,它支持多线程和分布式爬虫,可以轻松处理大规模数据抓取任务。
8-2-3、BeautifulSoup:BeautifulSoup是一个用于解析HTML和XML文档的Python库,它提供了丰富的API来查找、修改和提取文档中的数据,BeautifulSoup与requests库配合使用,可以轻松地抓取网页数据并进行处理。
8-2-4、Selenium:Selenium是一个用于自动化Web浏览器操作的库。它支持多种浏览器和平台,并提供了丰富的API来模拟用户与网页的交互,Selenium常用于测试Web应用程序,但也可以用于构建复杂的网络爬虫。
8-2-5、PyQuery:PyQuery是一个类似于jQuery的Python库,用于解析HTML文档并提取数据,它使用与jQuery相同的CSS选择器语法,使得选择和处理HTML元素变得简单直观,PyQuery还支持XPath选择器语法,提供了更强大的数据提取能力。
8-2-6、lxml:lxml是一个功能强大的XML和HTML解析库,它支持XPath和XSLT等标准技术,lxml提供了高效的解析速度和灵活的API,使得处理大型HTML和XML文档变得轻松高效。
9、物联网(IoT)
9-1、标准库:
Python没有专门针对物联网的标准库。
9-2、第三方库:
9-2-1. paho-mqtt:用于MQTT(消息队列遥测传输)协议的Python客户端库,MQTT是一种轻量级的发布/订阅消息传输协议,常用于物联网应用。
9-2-2、RPi.GPIO:如果你的物联网项目涉及Raspberry Pi等板卡,并且需要与GPIO引脚交互,这个库会很有用,它允许你通过Python脚本来控制GPIO引脚。
9-2-3、 Adafruit_CircuitPython_XXX:Adafruit提供了一系列基于CircuitPython的库,用于与各种传感器和执行器进行交互,CircuitPython是MicroPython的一个分支,专为物联网和嵌入式系统开发。
9-2-4、Home Assistant:虽然Home Assistant本身不是一个Python库,但它是一个开源的家庭自动化平台,使用Python编写,支持大量的物联网设备和传感器,它提供了一个用户界面来配置和控制你的智能家居设备。
9-2-5. PyBluez:PyBluez是一个用于蓝牙通信的Python库,如果你的物联网项目涉及蓝牙设备,这个库会很有用。
9-2-6、PySerial:如前所述,PySerial是一个用于串行通信的Python库,许多物联网设备使用串行通信来与其他设备或计算机进行交互。
9-2-7、ZMQ:ZeroMQ(ZMQ)是一个高性能的异步消息库,支持多种编程语言和平台,它提供了发布/订阅、请求/响应等消息模式,非常适合物联网应用中的设备间通信。
9-2-8、Paho-Eclipse:Paho-Eclipse提供了MQTT的Python客户端实现,支持MQTT 3.1和3.1.1版本。
9-2-9、PyModbus:PyModbus是一个用于Modbus协议的Python库,Modbus是一种串行通信协议,常用于工业自动化系统。
9-2-10、ThingsBoard:ThingsBoard是一个开源的物联网平台,它提供了一个可视化的界面来监控和控制物联网设备,虽然它本身不是Python库,但它支持Python作为其后端开发语言之一。
10、游戏开发
10-1、标准库:
Python中没有直接用于游戏开发的标准库。
10-2、第三方库:
10-2-1、Pygame:Pygame 是一组专为编写视频游戏而设计的Python模块,它建立在 SDL (Simple DirectMedia Layer)库之上,允许开发者使用Python语言创建功能齐全的游戏和多媒体程序,Pygame 具有高度的可移植性,可以在几乎所有平台和操作系统上运行。
10-2-2、Panda3D:Panda3D是一个开源的3D游戏引擎,用于创建3D游戏和模拟,它支持物理引擎、碰撞检测、音频处理、粒子系统等游戏开发所需的功能,Panda3D有一个活跃的社区和丰富的教程,可以帮助开发者快速上手。
10-2-3、PySoy:PySoy是一个基于SOY3D游戏引擎的Python绑定,它结合了渲染、物理、动画和网络等游戏开发的关键技术,PySoy可以让你在Python环境中使用SOY3D的强大功能。
10-2-4、PyOgre:PyOgre是Ogre3D渲染引擎的Python绑定,Ogre3D是一个成熟的、高性能的 3D渲染引擎,广泛应用于游戏和仿真领域,PyOgre允许Python开发者利用Ogre3D的能力来创建复杂的3D场景和效果。
10-2-5、Kivy:Kivy是一个多触摸应用开发框架,用于开发多平台应用程序,包括游戏等,它支持 Windows、macOS、Linux、Android和iOS等平台,Kivy提供了丰富的图形和交互功能,非常适合开发触摸游戏。
10-2-6、Pyglet:Pyglet是一个轻量级的Python窗口和多媒体库,它提供了一个简单的API来创建窗口、处理输入和播放声音,虽然Pyglet本身不直接提供游戏开发的所有功能,但它是一个很好的起点,用于创建简单的2D游戏。
10-2-7、Arcade:Arcade是一个基于Pyglet的2D游戏开发库,它提供了一个游戏框架,包括精灵、动画、声音、物理碰撞等功能,Arcade非常适合初学者和想要快速创建2D游戏的开发者。
10-2-8、RenPy:RenPy是一个用于制作视觉小说和冒险游戏的Python库,它提供了丰富的文本渲染、角色图像、选择菜单等功能,RenPy非常适合创建以文本和图像为主的互动故事游戏。
五、理解几个重要的概念
1、变量
在Python中,变量(Variable)是一个用于存储数据值或引用的标识符(或名称)。变量使得程序员能够方便地引用和操作这些数据值,而无需记住它们的确切内容或位置。以下是关于Python中变量的一些基本概念:
1-1、命名:变量需要有一个名称(也称为标识符),这个名称需要是有效的Python标识符。通常,变量名应该简洁、描述性强,并且遵循一定的命名规范(如驼峰命名法或下划线命名法)。
1-2、赋值:在Python中,变量在使用前需要被赋值,赋值操作是通过等号(=)完成的,等号左边是变量名,右边是要赋给变量的值。例如,x = 10就是将整数10赋值给变量x。
1-3、动态类型:Python是一种动态类型语言,这意味着变量的类型是在运行时确定的,而不是在声明时。当你将一个值赋给变量时,Python会自动确定该值的类型,并将该类型与变量关联起来。例如,你可以将整数赋值给变量x,然后再将字符串赋值给同一个变量x,而无需显式地更改其类型。
1-4、作用域:变量的作用域指的是变量在程序中可以被访问的区域,Python中的变量可以分为全局变量和局部变量。全局变量是在函数或方法之外定义的,可以在整个程序中访问;局部变量是在函数或方法内部定义的,只能在定义它的函数或方法内部访问。
1-5、引用和绑定:在Python中,变量实际上是对对象的引用(或指针),当你将一个值赋给变量时,Python会在内存中为该值创建一个对象(如果尚不存在),并将变量与该对象绑定在一起,此后,你可以通过该变量来访问和操作该对象。
1-6、不可变性:虽然Python中的变量本身是可变的(即可以重新赋值),但某些类型的对象(如整数、浮点数、字符串和元组)是不可变的,这意味着一旦创建了这些类型的对象,就不能更改其值,但是,你可以将这些对象的引用赋值给变量,从而改变变量所引用的对象。
总之,Python中的变量是一个用于存储数据值或引用的标识符,它们使得程序员能够方便地引用和操作这些数据值,而无需记住它们的确切内容或位置,同时,Python的变量具有动态类型、作用域和引用绑定等特性。
2、表达式
在Python中,表达式(Expression)是由操作符和操作数组成的,用于计算并返回一个值。表达式可以很简单,也可以很复杂,但它们总是遵循一定的语法规则,并且最终会计算出一个结果。
以下是关于Python中表达式的一些基本概念:
2-1、操作数和操作符:
2-1-1、操作数(Operand)是表达式中被操作的数据,它们可以是变量、常量、函数返回值或任何其他可以赋值给变量的值。
2-1-2、操作符(Operator)是用来指明操作数之间进行的操作的符号。例如,`+`、`-`、`*`、`/` 是算术操作符,`==`、`!=` 是比较操作符,`=` 是赋值操作符等。
2-2、计算过程:表达式按照Python的运算优先级进行计算,你可以使用括号来明确计算顺序,表达式会返回一个值,这个值可以是任何数据类型,包括整数、浮点数、字符串、列表、元组、字典等。
2-3、类型:表达式没有特定的类型,但表达式的计算结果有类型,这个类型取决于操作数和操作符的类型以及它们之间的操作。
2-4、赋值表达式:在Python中,赋值本身也可以看作是一种表达式,因为它会返回一个值(即被赋的值),但是,赋值表达式的结果(即赋值操作本身)不会被用于进一步计算。例如,在表达式 `x = y = 10` 中,`y = 10` 是一个表达式,它的结果(即值10)被赋给了y,然后这个值又被赋给了x,因此,整个赋值表达式 `x = y = 10` 本身不会返回一个可以在其他表达式中使用的值。
2-5、条件表达式(三元操作符):Python还提供了一个条件表达式(也称为三元操作符),其语法为 `value_if_true if condition else value_if_false`,这个表达式首先计算`condition`,如果为真,则返回`value_if_true`,否则返回`value_if_false`。
2-6、表达式的值:表达式的值就是表达式计算的结果,这个值可以是任何数据类型,取决于表达式的组成和操作。例如,表达式 `3 + 4` 的值是7,表达式 `'hello' + ' ' + 'world'` 的值是字符串 `'hello world'`。
总之,Python中的表达式(Expression)是用于计算并返回一个值的语法结构,它由操作数和操作符组成,按照特定的运算优先级进行计算,并返回一个具有特定类型的结果。
3、语句
在Python中,语句(Statement)是程序执行的基本单位,它指示Python解释器进行某种操作或声明某种事实。与表达式不同,表达式主要用于计算并返回一个值,而语句则执行一个操作,可能不返回任何值(或者更具体地说,它们返回None作为值,但这不是其主要目的)。
以下是关于Python中语句的一些基本概念:
3-1、执行操作:语句用于执行各种操作,如赋值、条件判断、循环、函数调用、输入/输出等。
3-2、语法结构:语句具有特定的语法结构,Python解释器会按照这些规则来执行它们。例如,赋值语句使用等号(=)来分配值给变量,条件语句(如if语句)用于基于某个条件执行代码块。
3-3、不返回结果(或返回None):大多数语句不是为了计算并返回结果而设计的,相反,它们是为了执行某个操作或声明某个事实,然而,在Python中,如果一个语句没有显式的返回值,它实际上会返回None,但这通常不是使用语句的主要目的。
3-4、代码块:某些语句(如条件语句和循环语句)可以包含多个语句,这些语句组合在一起形成一个代码块,代码块中的语句会按照它们在块中的顺序依次执行。
3-5、与表达式的区别:表达式计算并返回一个值,而语句执行一个操作。例如,`x = 5` 是一个赋值语句,它将值5分配给变量x;另一方面,`5 + 3` 是一个表达式,它计算并返回结果8。
3-6、语句类型:Python中有多种类型的语句,包括赋值语句、条件语句(如if语句)、循环语句(如for和while循环)、导入语句(如import语句)、函数定义语句、类定义语句等。
总之,Python中的语句是程序执行的基本单位,它们执行各种操作并控制程序的流程。与表达式不同,语句不是为了计算并返回结果而设计的,而是为了执行某个操作或声明某个事实。
4、函数
在Python中,函数(Function)是一段可重复使用的代码块,它用于执行特定的任务,通过定义函数,你可以将复杂的逻辑封装在一个独立的代码单元中,并在需要时多次调用该函数,这有助于减少代码的重复,提高代码的可读性和可维护性。
以下是关于Python中函数的一些基本概念:
4-1、定义函数:在Python中,你可以使用def关键字来定义函数,函数定义包括函数名、参数列表和函数体,函数体是包含要执行的代码块的缩进块。
def greet(name):
return "Hello, " + name + "!"
在这个例子中,greet是函数名,name是函数的参数,函数体中的代码将参数name与字符串"Hello, "和"!"连接在一起,并返回结果。
4-2、调用函数:定义函数后,你可以通过函数名和参数列表来调用它,调用函数时,Python会执行函数体中的代码,并返回结果(如果有的话)。
def greet(name):
return "Hello, " + name + "!"
result=greet("Myelsa")
print(result)
# Hello, Myelsa!
在这个例子中,我们调用了greet函数,并将字符串"Myelsa"作为参数传递给它,函数返回了连接后的字符串,我们将这个字符串赋值给变量result,并打印出来。
4-3、参数:函数可以接受零个或多个参数,参数是传递给函数并在函数体中使用的变量,在函数定义中,参数列表位于括号中,并用逗号分隔。
def add_numbers(a, b):
return a + b
result = add_numbers(10, 24)
print(result)
# 34
在这个例子中,add_numbers函数接受两个参数a和b,并将它们相加后返回结果。
4-4、返回值:函数可以返回一个值给调用者,在函数体中,你可以使用return语句来指定返回值,如果函数没有return语句或return语句没有指定值,则函数返回None。
def say_hello():
print("Hello, Myelsa!")
say_hello()
# Hello, Myelsa!
4-5、函数的作用域:函数内部定义的变量是局部变量,它们只在函数内部可见,函数外部定义的变量是全局变量,它们在函数外部和函数内部都可见(但在函数内部可能会被局部变量覆盖)。
4-6、函数的文档字符串:你可以使用文档字符串(也称为docstring)来为函数提供文档,文档字符串是一个可选的字符串,它位于函数定义的第一行,并且使用三个引号(可以是单引号或双引号)括起来,这有助于其他人理解你的函数是如何工作的以及如何使用它。
总之,通过理解和使用函数,你可以将复杂的程序分解为更小、更易于管理的部分,并提高代码的可读性和可重用性。
5、模块
在Python中,模块(Module)是一个包含Python定义和语句的文件,模块可以定义函数、类和变量,然后这些函数、类和变量可以被其他Python程序或模块导入并使用,模块是Python实现代码重用的一个基本单元,也是组织大型Python程序的一种方式。
以下是关于Python中模块的一些基本概念:
5-1、创建模块:模块就是一个`.py`文件,其中包含了Python代码,你可以将相关的函数、类和变量定义在同一个模块中,以便在其他地方重复使用。
5-2、导入模块:要使用模块中的函数、类或变量,你需要先导入该模块,Python提供了多种导入模块的方式,如import module_name,from module_name import function_name,或者from module_name import *(虽然这种方式不推荐使用,因为它可能会导入不需要的内容并导致命名空间污染)。
5-3、命名空间和作用域:每个模块都有自己的命名空间,也就是说,模块中定义的函数、类和变量名都是局部的,它们不会与其他模块中的同名实体发生冲突,但是,你可以通过导入操作来使用其他模块中的命名。
5-4、标准库和第三方库:Python自带了一个庞大的标准库,其中包含了大量实用的模块,同时,也有大量的第三方库可供使用,这些库提供了更广泛的功能和工具,你可以通过pip(Python的包管理工具)来安装和管理这些库。
5-5、模块的组织结构:大型Python项目通常会包含多个模块,这些模块会按照一定的组织结构进行组织。例如,你可以将相关的模块放在同一个目录下,并使用包(Package)来组织它们,包就是一个包含`__init__.py`文件的目录,这个目录可以包含其他模块和子包。
5-6、模块和脚本:模块和脚本在Python中并没有严格的界限,一个`.py`文件既可以作为模块被其他文件导入,也可以作为脚本直接运行。但是,当作为模块被导入时,它通常不会执行`if __name__ == "__main__":`块下的代码;而当作为脚本直接运行时,则会执行这部分代码,这是Python中判断模块是否被直接运行的一种常见方式。
总之,通过理解和使用模块,你可以更好地组织你的Python代码,提高代码的可读性和可维护性,并充分利用Python丰富的库和工具。
6、算法
在Python(以及计算机科学)中,算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制,也就是说,算法是对计算机上执行的计算过程的具体描述。
以下是关于Python中算法的一些基本概念:
6-1、指令的集合:算法是由一系列步骤或指令组成的,这些步骤或指令必须被精确地定义,以便能够由人或计算机按照特定的顺序执行。
6-2、解决问题:算法被设计用来解决特定的问题或完成特定的任务,这些任务可以是简单的数学计算,也可以是复杂的数据处理或机器学习过程。
6-3、输入和输出:算法通常接受输入(或没有输入),并在处理这些数据后产生输出。例如,一个排序算法可能会接受一个列表作为输入,并返回一个排序后的列表作为输出。
6-4、确定性:算法的每个步骤和指令都必须是明确和确定的,以便在相同的输入下总是产生相同的输出。
6-5、有限性:算法必须在有限的时间内完成,并且使用的资源(如内存和计算时间)也必须是有限的。
6-6、效率:虽然算法的正确性是最重要的,但它们的效率(即执行速度和所需资源)也往往是一个关键因素,高效的算法能够更快地完成相同的任务,或者使用更少的资源。
6-7、Python实现:在Python中,你可以使用各种控制结构(如条件语句、循环语句)和数据结构(如列表、字典、集合)来实现算法,Python的简洁性和易用性使得它成为编写和实现算法的理想语言。
6-8、算法分析:评估算法的性能通常涉及对其时间复杂度和空间复杂度的分析,时间复杂度描述了算法执行所需的时间,而空间复杂度描述了算法所需的额外内存空间。
总之,理解算法的概念并掌握如何使用Python来实现算法对于计算机科学和软件开发领域都是至关重要的,无论是解决简单的编程问题,还是开发复杂的软件系统,都需要使用到各种算法。
7、程序
在Python中,程序(Program)指的是一系列用于执行特定任务或解决特定问题的指令或代码,这些指令或代码按照特定的语法和规则编写,可以被Python解释器或编译器读取并执行,程序可以是简单的脚本,也可以是复杂的软件应用。
以下是关于Python中程序的一些基本概念:
7-1、代码集合:程序是由一系列的Python代码组成的集合,这些代码可以定义变量、函数、类、控制结构(如条件语句和循环语句)等,以实现特定的功能。
7-2、任务或问题:程序是为了解决某个特定任务或问题而编写的,这些任务或问题可以是简单的数据计算、文件操作,也可以是复杂的图形界面设计、网络编程或数据分析等。
7-3、执行流程:程序具有特定的执行流程,即代码的执行顺序,Python解释器会按照代码的顺序逐行执行,如果遇到控制结构(如条件语句或循环语句),则会根据条件或循环条件来决定执行哪部分代码。
7-4、输入和输出:程序通常需要处理输入和输出,输入可以是用户通过键盘输入的数据、文件中的数据、网络传输的数据等;输出可以是显示在屏幕上的文本、写入文件的数据、发送到其他程序或设备的数据等。
7-5、模块和库:Python提供了丰富的模块和库,这些模块和库包含了大量的预定义函数和类,可以帮助程序员更快地编写程序,程序可以导入并使用这些模块和库中的函数和类来实现特定的功能。
7-6、调试和测试:编写程序后,需要进行调试和测试以确保其正确性和稳定性,调试是找出并修复程序中错误的过程,而测试则是验证程序是否按预期工作并满足需求的过程。
7-7、可移植性:Python是一种跨平台的编程语言,这意味着使用Python编写的程序可以在不同的操作系统上运行,只需要确保该操作系统上安装了Python解释器即可。
总之,理解程序的概念并掌握Python编程的基本知识和技能,可以帮助你编写出高效、可靠且易于维护的程序,无论是开发Web应用、数据分析、人工智能还是其他领域的应用,Python都是一个强大的工具。
六、推荐专栏/主页:
1、Python函数之旅:Functions
2、Python算法之旅:Algorithms
3、个人主页:神奇夜光杯-CSDN博客
标签:
上一篇:Python八股文总结
下一篇:Python魔法之旅-魔法方法(05)
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj