Python 的核心知识经常出现在后端面试和自动化脚本开发中。
装饰器
装饰器本质上是接收函数并返回新函数的函数。
def log(fn):
def wrapper(*args, **kwargs):
print("before")
result = fn(*args, **kwargs)
print("after")
return result
return wrapper
@log
def hello():
print("hello")@log 等价于 hello = log(hello)。
生成器
生成器使用 yield,可以按需产生值。
def count():
yield 1
yield 2
for item in count():
print(item)生成器适合处理大数据流,避免一次性加载全部内容。
深拷贝与浅拷贝
浅拷贝只复制第一层对象,内部引用仍共享。深拷贝会递归复制嵌套对象。
import copy
a = [[1], [2]]
b = copy.copy(a)
c = copy.deepcopy(a)魔法方法
常见魔法方法包括:
__init__:初始化对象__new__:创建对象__del__:对象销毁时调用__str__:字符串展示
Flask、加密与 Token
Flask 是轻量级 Python Web 框架。后端认证中常见 token 流程是:
- 用户登录
- 服务端验证账号密码
- 返回 token
- 后续请求携带 token
- 服务端校验 token 后返回资源
实际项目中必须配合 HTTPS、过期时间和权限控制。