微信登录

python入门基础教程

1991年发布
1500功能
版本3.12.0
使用费用:free
版权Python Software Foundation License
开发语言:C、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编程的核心概念和实用技巧,帮助新手避开常见陷阱,写出更优雅高效的代码。配合实践练习效果更佳!