微信登录

Python教程

基础档案信息
发行年月1991-02
开源年月1991-02
功能数150
开发者Guido van Rossum
开发语言C
官网地址https://www.python.org
版本3.12.0
版权Python Software Foundation
许可证详情Python Software Foundation License
是否付费
开源免费
运行环境与硬件
支持系统
Windows
Linux
macOS
架构
x86
x64
ARM
GUI 软件名Tkinter
文件扩展名
.py
.pyw
.pyc
.pyo
.pyd
.pyx
.pxd
.pyi
.pyz
.whl
底层执行原理
内存管理方式
自动GC
编译方式解释执行
运行方式解释器
输入速度5 MB/S
输出速度3 MB/S
常用标准库
os
sys
math
datetime
json
re
collections
itertools
functools
random
软件特点
简单易学
面向对象
解释型语言
动态类型
高级语言
可扩展性强
丰富的标准库
跨平台
开源免费
社区活跃
适用于多种领域
代码可读性高
支持多种编程范式
易于集成
快速开发
安装部署与路径
安装大小约25MB(安装包),安装后约100MB
运行速度解释型语言,运行速度中等,依赖于代码优化和硬件
Windows安装路径C:\Python39(默认安装路径)
Windows配置文件路径C:\Users\用户名\AppData\Roaming\Python\python39
Windows数据目录C:\Users\用户名\AppData\Local\Python\Python39
Windows临时目录C:\Users\Username\AppData\Local\Temp\Python
Windows日志目录C:\Python\logs
Windows插件目录C:\Python\plugins
Windows缓存目录C:\Users\Username\AppData\Local\Python\Cache
Windows文档目录C:\Python\Doc
Windows示例目录C:\Python\Examples
Windows工具链路径C:\Python\Tools
WindowsSDK路径C:\Python\SDK
Windows运行时路径C:\Python\Runtime
Mac安装路径/Library/Frameworks/Python.framework/Versions/3.9
Mac配置文件路径~/.python/python3.9
Mac数据目录~/Library/Application Support/Python/3.9
Mac临时目录/tmp/Python
Mac日志目录/var/log/python
Mac插件目录/Library/Python/plugins
Mac缓存目录~/Library/Caches/Python
Mac文档目录/Library/Documentation/Python
Mac示例目录/Library/Python/Examples
Mac工具链路径/usr/local/bin
MacSDK路径/Library/Python/SDK
Mac运行时路径/Library/Python/Runtime
Linux安装路径/usr/local/python
Linux配置文件路径/etc/python
Linux数据目录/var/lib/python
Linux临时目录/tmp/python
Linux日志目录/var/log/python
Linux插件目录/usr/lib/python/plugins
Linux缓存目录/var/cache/python
Linux文档目录/usr/share/doc/python
Linux示例目录/usr/share/python/examples
Linux工具链路径/usr/bin
LinuxSDK路径/usr/lib/python/sdk
Linux运行时路径/usr/lib/python/runtime
语言核心语法能力
语法特性
缩进表示代码块,无需大括号
动态类型,变量无需声明类型
解释型语言,直接运行源代码
垃圾回收自动管理内存
支持多重继承
鸭子类型:关注对象行为而非类型
列表、字典等内置数据结构
切片操作方便处理序列
装饰器增强函数功能
上下文管理器简化资源管理
类型系统
动态强类型
面向对象支持
完全支持
模块系统使用import语句导入模块,支持包管理和命名空间
异常处理使用try/except/finally进行异常处理
函数式支持支持lambda表达式、高阶函数(map、filter、reduce)、列表推导式等函数式编程特性
并发模型支持多线程(threading)、多进程(multiprocessing)和异步编程(asyncio)
元编程能力支持反射(getattr、setattr)、装饰器、元类等元编程能力
功能列表
变量定义
条件语句
循环语句
函数定义
类定义
模块导入
异常处理
列表操作
字典操作
字符串处理
文件操作
网络编程
数据库访问
GUI编程
科学计算
关键字
and
as
assert
break
class
continue
def
del
elif
else
常用语句
print('Hello, World!') # 打印语句
x = [i for i in range(10)] # 列表推导式
d = {k: v for k, v in zip(keys, values)} # 字典推导式
f = lambda x: x**2 # lambda函数
with open('file.txt', 'r') as f: content = f.read() # with语句
if __name__ == '__main__': main() # 主程序入口
try: risky_code() except Exception as e: print(e) # 异常处理
import os; os.listdir('.') # 导入模块并调用
def decorator(func): def wrapper(): print('Before'); func(); print('After'); return wrapper # 装饰器定义
for i, item in enumerate(items): print(i, item) # 枚举循环
必会要点
必会要点
Python由Guido van Rossum于1991年创建,是一种高级编程语言。
使用缩进来定义代码块,强调代码可读性。
动态类型系统,变量无需声明类型,直接赋值。
支持多种编程范式,包括面向对象、函数式和过程式。
拥有丰富的标准库,涵盖文件操作、网络、数据库等。
使用import语句导入模块,扩展功能。
常见数据类型:整数、浮点数、字符串、列表、元组、字典。
列表是可变的序列,用方括号定义,支持增删改查。
元组是不可变的序列,用圆括号定义,常用于固定数据。
字典是键值对集合,用花括号定义,快速查找数据。
集合是无序不重复元素集,支持数学集合运算。
使用def关键字定义函数,提高代码复用性。
条件判断使用if、elif、else语句,基于布尔值执行。
循环使用for遍历序列,while基于条件重复执行。
列表推导式提供简洁方式创建列表,语法类似数学集合。
异常处理使用try、except,避免程序崩溃。
文件操作使用open()函数,支持读写文本和二进制文件。
使用with语句自动管理资源,如文件关闭。
模块是Python代码文件,通过import引入功能。
包是包含__init__.py文件的目录,组织多个模块。
使用pip工具安装第三方包,扩展Python生态系统。
虚拟环境隔离项目依赖,避免版本冲突。
字符串方法如split()分割、join()连接、strip()去除空格。
使用len()函数获取序列长度,如列表或字符串。
range()函数生成数字序列,常用于循环计数。
enumerate()在循环中同时获取索引和值,提高可读性。
zip()函数并行迭代多个序列,组合对应元素。
字典的get()方法安全访问键值,避免KeyError异常。
使用in关键字检查元素是否在序列中,返回布尔值。
lambda表达式创建匿名函数,简洁定义小功能。
map()函数将函数应用于序列每个元素,返回迭代器。
filter()函数过滤序列元素,基于条件返回迭代器。
sorted()函数对序列排序,返回新列表,支持自定义键。
使用f-string进行字符串格式化,嵌入变量值,简洁高效。
format()方法格式化字符串,支持位置和关键字参数。
json模块处理JSON数据,支持编码和解码操作。
datetime模块处理日期和时间,提供丰富功能。
os模块与操作系统交互,如文件路径和目录操作。
sys模块访问系统参数,如命令行参数和退出程序。
Python在数据科学、机器学习和Web开发中广泛应用。
工程工具链生态
包管理工具pip (Python Package Index)
调试工具pdb (Python Debugger), 集成调试器
测试框架unittest (标准测试框架), pytest (流行第三方框架)
代码格式化工具black (自动代码格式化工具)
静态分析工具pylint (代码检查), mypy (静态类型检查)
文档生成工具Sphinx (文档生成工具)
构建工具setuptools (构建工具), poetry (依赖管理)
社区活跃度高活跃度,广泛社区支持,GitHub stars众多
与其他语言对比Python易学易用,语法简洁;相比C++性能较低但开发效率高;相比Java动态类型更灵活但类型安全较弱。
学习资料与开发工具
推荐学习资源
Python官方文档
W3Schools Python教程
Real Python
Codecademy Python课程
廖雪峰Python教程
官方教程https://docs.python.org/3/tutorial/
视频教程
Python全栈教程 by 莫烦Python
CS50's Introduction to Programming with Python
Python for Everybody on Coursera
书籍推荐
Python Crash Course
Automate the Boring Stuff with Python
Fluent Python
在线课程
Python for Everybody on Coursera
Complete Python Bootcamp on Udemy
社区论坛
Stack Overflow Python tag
Reddit r/learnpython
Python中文社区
问题跟踪https://github.com/python/cpython/issues
代码示例仓库https://github.com/python/cpython
常用IDE插件
Python extension for VSCode
IntelliJ IDEA Python plugin
常用VS Code扩展
Python
Pylance
Jupyter
常用JetBrains插件
Python plugin for IntelliJ
PyCharm
代码片段库
Python常用代码片段
算法实现片段
进阶实践与生态
设计模式应用
创建型-单例模式(Singleton)
创建型-工厂方法模式(Factory Method)
结构型-装饰器模式(Decorator)
结构型-代理模式(Proxy)
行为型-观察者模式(Observer)
行为型-策略模式(Strategy)
最佳实践
使用PEP 8编码规范
编写文档字符串
使用类型提示
遵循单一职责原则
使用版本控制
编写单元测试
使用代码审查
优化导入语句
避免魔法数字
使用枚举代替常量
利用上下文管理器
使用生成器节省内存
避免深度嵌套
使用装饰器增强函数
掌握内置函数
理解GIL限制
使用多进程并行
异步编程实践
错误处理最佳实践
日志记录策略
性能优化技巧
使用内置函数和库
避免全局变量
使用局部变量
利用列表推导式
使用生成器表达式
缓存计算结果
使用lru_cache
避免不必要的对象创建
使用join连接字符串
使用array模块处理数组
使用C扩展
分析代码性能
使用性能分析工具
优化数据库查询
使用异步IO
著名系统
Django: 高级Python Web框架,用于快速开发安全可维护的网站。
Flask: 轻量级Web框架,灵活且易于扩展。
NumPy: 基础科学计算包,支持大型多维数组和矩阵。
Pandas: 数据操作和分析库,提供DataFrame数据结构。
TensorFlow: 开源机器学习平台,用于研究和生产。
PyTorch: 深度学习框架,动态计算图优先。
Scikit-learn: 机器学习库,简单高效的数据挖掘工具。
Matplotlib: 2D绘图库,创建静态、交互式图表。
Seaborn: 基于matplotlib的数据可视化,统计图形美观。
Requests: HTTP库,简化HTTP请求发送。
Beautiful Soup: HTML/XML解析库,用于网页抓取。
Selenium: 浏览器自动化工具,用于Web测试。
PyGame: 游戏开发库,创建多媒体应用。
SQLAlchemy: SQL工具包和ORM,数据库交互。
FastAPI: 现代Web框架,高性能API开发。
Celery: 分布式任务队列,异步任务处理。
Jupyter Notebook: 交互式计算环境,支持代码和文档。
Anaconda: Python发行版,包管理和环境管理。
PyCharm: 集成开发环境,智能代码辅助。
Virtualenv: 虚拟环境工具,隔离Python项目。
安全注意事项
避免使用eval
验证所有用户输入
使用参数化查询防止SQL注入
哈希密码使用bcrypt
避免硬编码密钥
使用SSL/TLS加密通信
防止跨站脚本攻击
设置适当的文件权限
定期更新依赖库
使用安全头部
实施访问控制
日志安全事件
防止目录遍历
使用CSRF令牌
安全会话管理
版本更新日志
Python 2.7: 最后一个Python 2版本
Python 3.0: 重大改变,不向后兼容
Python 3.5: 引入async/await
Python 3.6: 格式化字符串字面量
Python 3.7: 数据类
Python 3.8: 海象运算符
Python 3.9: 字典合并运算符
Python 3.10: 结构模式匹配
Python 3.11: 性能提升
Python 3.12: 新的类型特性
未来路线图Python的未来发展包括持续的性能优化、新语法特性如模式匹配的扩展、更好的工具链支持、以及更强大的类型系统。官方路线图关注于使Python更快速、更安全、更易于使用。
贡献指南贡献到Python社区可以通过多种方式:报告bug、提交补丁、编写文档、翻译、参与讨论等。建议先阅读开发者指南,并遵循贡献流程。
相关会议
PyCon US
EuroPython
PyCon China
DjangoCon
PyData
SciPy
PyCascades
PyCon India
PyCon Australia
Python Brasil

小编收集了50个关于python的各种信息,帮助小伙伴们认识python是什么可以做什么,让大家可以快速知道python全景:

初识python

Python 是 1989 年由荷兰程序员 Guido van Rossum 设计的编程语言。
它的名字灵感并非来自蛇,而是英国喜剧《蒙提·派森的飞行马戏团》(Monty Python’s Flying Circus)。
Python 的核心理念是“优雅、明确、简单”,代码可读性极强。
与 C、Java 等语言不同,Python 使用缩进(空格或制表符)来划分代码块,而非大括号。
Python 是解释型语言,无需编译即可运行,写完代码直接执行,方便调试。
它支持多种编程范式,包括面向对象、函数式、过程式编程。
Python 的标准库非常丰富,被称为“内置电池”(Batteries Included),很多功能无需额外安装。
用 Python 打印“Hello, World!”只需一行代码:

  1. print("Hello, World!")

python现状简介

Python 3 是目前主流版本,2020 年已停止对 Python 2 的官方支持。

python语法简介

Python 中的注释用 # 开头,单行注释简单直观;多行注释可用三引号 """''' 包裹。
函数定义用 def 关键字,例如 :

  1. def hello():
  2. print("Python is cool!")

Python 支持切片操作,能快速截取序列的部分元素,如 list[1:3] 取列表第 2 到第 3 个元素。

python类型简介

Python 是动态类型语言,变量无需声明类型,赋值时自动确定类型。
例如 x = 5 中,x 会被识别为整数; x = “python” 中,x 则为字符串。
Python 中的变量名区分大小写, python 和 Python 是两个不同的变量。
Python 中的字符串可直接用 + 拼接,如 “I love “ + “Python” 结果为 “I love Python” 。
格式化字符串有多种方式,如 f-string (Python 3.6+): f”Hello, {name}!” 。
字符串方法 upper() 和 lower() 可将 Python 字符串转为全大写或全小写。
列表(List)是 Python 中最常用的数据结构之一,用方括号表示,如 [1, 2, “python”] 。
字典(Dictionary)是 Python 中的键值对集合,用大括号表示,如 {“name”: “Python”, “year”: 1989} 。
元组(Tuple)是 Python 中的不可变序列,用小括号表示,如 (1, “Python”) 。
函数可以返回多个值,在 Python 中会被自动封装成元组。
集合(Set)是 Python 中的无序不重复元素集合,支持交集、并集等操作。
Python 中的布尔值用 True 和 False 表示(首字母大写),而非其他语言的小写。
Python 中的 None 表示空值,类似其他语言的 null ,但首字母大写。

python 内置函数

Python 3 中 print() 是函数,而 Python 2 中 print 是语句,语法略有不同。
内置函数 len() 可获取 Python 中字符串、列表等对象的长度,如 len(“python”) 结果为 6。
range() 是 Python 内置函数,用于生成整数序列,如 range(5) 生成 0-4 的数字。
map() 、 filter() 等函数常与 lambda 配合,实现函数式编程风格的 Python 代码。
列表推导式是 Python 的特色语法,用一行代码生成列表,如 [x*2 for x in range(5)] 。
input() 是 Python 中获取用户输入的内置函数,返回值为字符串类型。

python关键字

模块是 Python 代码组织的基本单位,一个 .py 文件就是一个模块,可通过 import 导入。
Python 的异常处理用 try-except 语句,可捕获并处理代码运行中的错误。
循环结构有 for 和 while 两种, for 常搭配 in 遍历序列,如:

  1. for i in [1,2,3]:
  2. print(i)

条件语句用 if-elif-else 结构,例如根据条件执行不同的 Python 代码块。
Python 的 is 运算符判断两个对象是否为同一实例, == 判断值是否相等。
生成器(Generator)是 Python 中高效的迭代器,用 yield 关键字返回值。
Python 支持匿名函数,用 lambda 关键字定义,如 lambda x: x+1 。

python类

类的定义用 class 关键字,面向对象编程在 Python 中简洁易实现。
__init__() 是 Python 类的构造方法,用于初始化对象实例。
Python 的垃圾回收机制自动管理内存,开发者无需手动释放内存。
继承是 Python 面向对象的重要特性,子类可复用父类的属性和方法。
递归函数在 Python 中存在默认递归深度限制,过深会导致栈溢出错误。

python自带库

Python 中的模块搜索路径可通过 sys.path 查看,决定了 import 时的查找范围。
os 模块是 Python 中用于与操作系统交互的常用模块,如操作文件、目录。

python第三方包(第三方库)

第三方库可通过 pip 安装,这是 Python 官方的包管理工具,如 pip install numpy 。
NumPy 是 Python 中用于科学计算的重要库,提供高效的数组操作功能。
Pandas 是基于 NumPy 的 Python 数据分析库,擅长处理表格型数据。

python应用

Python 广泛应用于数据分析、人工智能、Web 开发、自动化测试等领域。
学习 Python 的门槛较低,但其灵活性和强大功能使其成为程序员的热门选择,这就是 Python 的魅力所在!