模块与包
模块(Module)是包含 Python 代码的文件,包(Package)是包含模块的目录。模块化让代码可复用、易维护。
导入方式
import 模块名;from 模块 import 函数;import 模块 as 别名;from 包 import 模块。
常用标准库
os(系统)、sys(解释器)、math(数学)、random(随机)、datetime(时间)、json(JSON)、re(正则)、urllib(网络)。第三方库用 pip install 安装。
__name__ 约定
if __name__ == "__main__": 表示只有直接运行本文件时才执行,被导入时不执行。
代码示例
# 导入标准库
import math
import random
from datetime import datetime
print(math.sqrt(16)) # 4.0
print(random.randint(1, 10)) # 1-10 随机整数
print(datetime.now()) # 当前时间
# JSON 处理
import json
data = {"name": "小王", "tags": ["a", "b"]}
json_str = json.dumps(data, ensure_ascii=False)
print(json_str)
print(json.loads(json_str)["name"])
# 自定义模块(math_utils.py)
# def double(x):
# return x * 2
# 在其它文件使用:
# import math_utils
# print(math_utils.double(5))
# __name__ 约定
if __name__ == "__main__":
print("直接运行时执行这行")
print("被导入时不会执行")
📚 Python 语法速查
常用条目速查,完整版见对应教程章节。可复制代码到在线运行中测试。
| 写法 / 语法 | 作用 |
|---|---|
print("hello") | 输出到控制台 |
name = "张三" | 变量赋值(无需声明类型) |
if x > 0: ... | 条件判断(注意冒号和缩进) |
for i in range(10): ... | 循环(缩进是语法的一部分) |
while x < 10: ... | 条件循环 |
def fn(a, b): return a + b | 定义函数 |
class Person: ... | 定义类 |
list = [1, 2, 3] | 列表(可改) |
tuple = (1, 2) | 元组(不可改) |
dict = {"key": "value"} | 字典(键值对) |
set = {1, 2, 3} | 集合(去重) |
len(obj) | 取长度 |
str(x) / int(x) / float(x) | 类型转换 |
s.split(",") | 字符串按分隔符拆分 |
" ".join(list) | 列表拼接成字符串 |
import os | 导入模块 |
from math import sqrt | 从模块导入指定函数 |
try: ... except Exception as e: ... | 异常捕获 |
with open("a.txt", "r") as f: ... | 文件读取(自动关闭) |
f"你好 {name}" | f-string 格式化 |
lambda x: x * 2 | 匿名函数 |
list(map(fn, arr)) | 函数式处理列表 |
range(start, stop, step) | 生成数字序列 |
if __name__ == "__main__": | 主入口判断 |
pip install 包名 | 安装第三方包(命令行) |