微信登录

python入门基础教程

基本信息
文件名
.py
.pyc
运行命令python xxx.py
数据类型
字符串
数组列表
整数
浮点数
字典
布尔
空值
关键字
循环关键字
for
while
break
continue
条件分支关键字
if
else
elif
函数 / 类定义关键字
class
def
return
lambda
is
模块导入关键字
from
import
as
异常处理关键字
try
except
finally
raise
逻辑布尔关键字
and
or
not
空占位关键字
pass
上下文关键字
with
作用域关键字
global
nonlocal
其他关键字
assert
del
yield
match
case
in
自带库
基础语言支持
字符串 & 正则
容器 & 数据结构 & 算法
数学 & 随机数
时间日期
IO/ 文件 / OS 系统交互
网络 & 编码
并发多线程
1991年发布
681功能
版本3.12.0
使用费用:free
版权Python Software Foundation License
开发语言:python

环境配置

架构

  • x86
  • x64
  • arm64

支持系统

  • Windows
  • Linux
  • macOS
  • ios
  • android

包类型

  • zip
  • deb
  • rpm
  • exe
  • msi
  • tar.gz
  • whl

软件特点

  • 易读易写
  • 跨平台
  • 丰富的第三方库
  • 解释型语言
  • 面向对象

详细信息

开发者:

Python 软件基金会

安装大小:

450MB

运行速度:

800QPS

依赖包:

pipsetuptoolswheel

Windows安装路径:

C:\Program Files\Python312

Mac安装路径:

/Applications/Python 3.12

Linux安装路径:

/usr/local/bin/python3.12

Windows配置文件路径:

C:\Users\用户名\.pythonrc

Mac配置文件路径:

~/.pythonrc

Linux配置文件路径:

~/.pythonrc

输入速度:

120MB/s

输出速度:

95MB/s

GUI 软件名:

PyCharmVS CodeSublime TextIDLESpyder

功能列表:

数据处理Web 开发人工智能自动化运维数据分析与可视化爬虫开发

必会要点

1掌握 Python 基础语法(变量、数据类型、运算符、注释)
2熟练使用条件判断(if/else)和循环结构(for/while)
3理解并运用列表、元组、字典、集合等内置数据结构
4掌握函数的定义、调用、参数传递及返回值使用
5熟悉模块与包的导入和使用(import 语句)
6理解 Python 的面向对象编程(类、对象、继承、多态)
7掌握异常处理机制(try/except/finally)
8熟悉文件读写操作(open 函数、with 语句)
9了解 Python 的装饰器、生成器、迭代器等高级特性
10掌握 pip 包管理工具安装和管理第三方库
11熟练使用 NumPy 库进行数值计算和数组操作
12熟练使用 Pandas 库进行数据清洗和分析
13了解 Matplotlib/Seaborn 库实现数据可视化
14掌握 requests 库进行 HTTP 请求和爬虫开发基础
15熟悉 os/sys 模块进行系统交互和路径操作
16理解 Python 的内存管理和垃圾回收机制
17掌握多线程 / 多进程编程实现并发操作
18熟悉正则表达式(re 模块)进行字符串处理
19了解 SQLAlchemy 等库实现数据库交互
20掌握 Flask/Django 框架进行 Web 开发基础
21理解 Python 的编码规范(PEP 8)
22熟悉 unittest/pytest 框架进行单元测试
23掌握虚拟环境(venv/conda)的创建和使用
24了解 Python 异步编程(asyncio)
25掌握 pickle/json 模块进行数据序列化与反序列化

与其他语言对比

1. python 运行速度比 C++ 慢数倍
2. python 开发效率比 C++ 高很多
3. python 语法比 Java 更简洁易懂
4. python 并发性能比 Java 弱
5. python 库生态比 Go 更丰富
6. python 编译速度比 Go 慢
7. python 跨平台性比 C# 更优
8. python GUI 开发比 C# 弱
9. python 动态特性比 JavaScript 稳
10. python 前端开发比 JavaScript 差
11. python 数据处理比 PHP 强得多
12. python 网页开发比 PHP 繁琐
13. python 可读性比 Ruby 略优
14. python 元编程比 Ruby 弱
15. python 科学计算比 Swift 强
16. python 移动端开发比 Swift 差
17. python 代码量比 Kotlin 多
18. python 通用性比 Kotlin 广
19. python 类型安全比 TypeScript 差
20. python 后端能力比 TypeScript 强
21. python 硬件控制比 Rust 弱
22. python 学习门槛比 Rust 低
23. python 脚本能力比 Perl 易用
24. python 文本处理比 Perl 稍弱
25. python 数学库比 MATLAB 开源
26. python 专业绘图比 MATLAB 弱
27. python 并发比 Erlang 差很多
28. python 生态比 Erlang 更全面
29. python 语法比 Scala 更简单
30. python 函数式编程比 Scala 弱
31. python 大数据处理比 Hadoop 易用
32. python 分布式计算比 Hadoop 弱
33. python 嵌入式开发比 Lua 差
34. python 功能丰富度比 Lua 高
35. python 编译效率比 Fortran 低
36. python 易用性比 Fortran 高
37. python 数据库操作比 SQL 灵活
38. python 数据查询比 SQL 繁琐
39. python 游戏开发比 C# Unity 弱
40. python 数据分析比 C# Unity 强

以下是一份针对Python初学者的50个小知识点集合,内容涵盖基础语法、实用技巧和20年版本更迭中的精华总结(基于Python 3.6+版本):


基础语法篇

  1. 缩进即结构:Python用缩进代替大括号,4个空格是PEP8推荐标准。

    1. if True:
    2. print("缩进是语法的一部分")
  2. 动态类型:变量无需声明类型,赋值即定义。

    1. x = 10 # 自动识别为int
    2. x = "Hello" # 自动变为str
  3. 字符串乘法:用*重复字符串。

    1. print("Ha" * 3) # 输出HaHaHa
  4. 三引号跨行字符串:保留格式的多行文本。

    1. text = """第一行
    2. 第二行"""
  5. 列表切片list[start:end:step],支持负数索引。

    1. nums = [0,1,2,3,4]
    2. print(nums[1:4]) # [1,2,3]
    3. print(nums[::-1]) # 逆序

高效操作技巧

  1. 列表推导式:快速生成列表。

    1. squares = [x**2 for x in range(10)]
  2. 交换变量:无需中间变量。

    1. a, b = 1, 2
    2. a, b = b, a
  3. 链式比较:数学式写法。

    1. if 1 < x < 10:
    2. print("链式比较成立")
  4. enumerate迭代索引:同时获取索引和值。

    1. for i, value in enumerate(['a','b','c']):
    2. print(i, value)
  5. zip合并迭代器:并行遍历多个序列。

    1. names = ["Alice", "Bob"]
    2. ages = [25, 30]
    3. for name, age in zip(names, ages):
    4. print(name, age)

函数与作用域

  1. 默认参数陷阱:避免使用可变对象作为默认参数。

    1. # 错误示例
    2. def func(a, lst=[]):
    3. lst.append(a)
    4. return lst
    5. # 正确做法
    6. def func(a, lst=None):
    7. lst = lst or []
    8. lst.append(a)
    9. return lst
  2. 可变参数*args和`kwargs`**:

    1. def example(a, *args, **kwargs):
    2. print(a, args, kwargs)
    3. example(1, 2, 3, name="John")
  3. Lambda匿名函数:简单函数单行实现。

    1. multiply = lambda x, y: x * y
  4. 闭包与作用域:函数捕获外部变量。

    1. def outer():
    2. x = 10
    3. def inner():
    4. print(x) # 访问外部变量
    5. return inner

数据结构进阶

  1. 字典快速合并:Python 3.5+的**语法。

    1. dict1 = {'a':1}
    2. dict2 = {'b':2}
    3. merged = {**dict1, **dict2}
  2. 集合去重:利用集合特性过滤重复项。

    1. unique = list(set([1,2,2,3])) # [1,2,3]
  3. 默认字典defaultdict:处理缺失键。

    1. from collections import defaultdict
    2. dd = defaultdict(list)
    3. dd['key'].append(1) # 自动初始化空列表
  4. 元组拆包:多变量赋值更简洁。

    1. point = (3, 4)
    2. x, y = point

文件与IO

  1. with自动关闭文件:防止资源泄露。

    1. with open('file.txt', 'r') as f:
    2. content = f.read()
  2. 读写JSON数据

    1. import json
    2. data = {'name': 'John'}
    3. # 写入
    4. with open('data.json', 'w') as f:
    5. json.dump(data, f)
    6. # 读取
    7. with open('data.json', 'r') as f:
    8. data = json.load(f)

错误处理

  1. 捕获特定异常:避免裸except

    1. try:
    2. 1 / 0
    3. except ZeroDivisionError as e:
    4. print(f"Error: {e}")
  2. else子句:try中没有异常时执行。

    1. try:
    2. result = 10 / 2
    3. except:
    4. print("Error")
    5. else:
    6. print("结果是", result)
  3. finally清理资源:无论是否异常都执行。

    1. try:
    2. file = open('test.txt')
    3. finally:
    4. file.close()

模块与库

  1. __name__的作用:模块作为脚本或导入时区别运行。

    1. if __name__ == '__main__':
    2. print('直接执行时运行')
  2. 安装第三方库:使用pip

    1. pip install requests
  3. 虚拟环境venv:隔离项目依赖。

    1. python -m venv myenv
    2. source myenv/bin/activate # Linux/Mac
    3. myenv\Scripts\activate.bat # Windows

隐藏特性

  1. 循环中的else:循环未被break打断时执行。

    1. for i in range(5):
    2. if i == 10:
    3. break
    4. else:
    5. print("循环正常结束")
  2. 解压序列赋值:批量赋值给多个变量。

    1. a, *b, c = [1,2,3,4] # a=1, b=[2,3], c=4
  3. 海象运算符:=(Python 3.8+):表达式内赋值。

    1. if (n := len([1,2,3])) > 2:
    2. print(n)
  4. f-string格式化:更简洁的字符串插值(Python 3.6+)。

    1. name = "Alice"
    2. print(f"Hello {name}!")

高效编程习惯

  1. 使用生成器节省内存(x for x in range(10))
  2. is==的区别is比较对象ID,==比较值。
  3. 浅拷贝与深拷贝copy.copy() vs copy.deepcopy()
  4. 装饰器实现AOP:增强函数功能。
    1. def decorator(func):
    2. def wrapper():
    3. print("Before")
    4. func()
    5. print("After")
    6. return wrapper
    7. @decorator
    8. def say_hello():
    9. print("Hello")
  5. 类型提示(Type Hints):提高代码可读性(Python 3.5+)。
    1. def greet(name: str) -> str:
    2. return f"Hello {name}"

性能优化

  1. 优先使用局部变量:局部变量访问更快。
  2. 避免+=拼接字符串:使用str.join()提高效率。
  3. 使用in检查成员存在性if key in dict比遍历快。
  4. sys模块查看递归深度:默认限制1000层。
    1. import sys
    2. print(sys.getrecursionlimit())

其他实用工具

  1. pdb调试器:命令行调试工具。
    1. import pdb; pdb.set_trace()
  2. 时间测量timeit模块计算代码执行时间。
  3. 生成随机数
    1. import random
    2. print(random.randint(1,10)) # 1-10随机整数
  4. 命令行参数sys.argv获取。
    1. import sys
    2. print("脚本名:", sys.argv[0])
  5. 列表逆序复制new_list = old_list[::-1]
  6. 字典键视图dict.keys()返回动态视图。

版本差异

  1. Python 2 vs 3:最明显变化是print函数和除法行为。
  2. 整除运算符:Python 3中/是浮点除,//是整除。
  3. @矩阵乘法符:Python 3.5+新增运算符。
  4. async/await语法:Python 3.5+支持协程。
  5. 数据类dataclass:Python 3.7+简化类定义。
    1. from dataclasses import dataclass
    2. @dataclass
    3. class Point:
    4. x: int
    5. y: int

这些知识点从基础到进阶,覆盖了Python编程的核心概念和实用技巧,帮助新手避开常见陷阱,写出更优雅高效的代码。配合实践练习效果更佳!