微信登录

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\Local\Python\Python39
Windows日志目录:C:\Python\logs
Windows插件目录:C:\Python\plugins
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('.') # 导入模块并调用
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: 新的类型特性
相关会议:
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 的魅力所在!