-
2026-01-27 19:39:20
- 类变量在多进程 fork 后的行为与修改陷阱
- fork后类变量不共享。子进程获得父进程内存副本,类变量初始值相同但物理隔离,修改互不影响;可变对象的就地修改看似生效实为COW机制下的短暂共享,后续写操作即触发内存分离。
-
882
-
2026-01-27 19:40:59
- Python 可调用对象的类型判断
- 判断对象是否可调用应使用callable():它专为此设计,通过检查call方法实现且覆盖所有可调用协议,比isinstance(obj,Callable)、字符串匹配类型名或hasattr(obj,‘__call__’)更准确可靠。
-
637
-
2026-01-27 19:41:02
-
2026-01-27 19:41:02
- Python 对象 ID 与内存地址的对应关系
- id()返回对象在生命周期内的唯一标识,在CPython中是PyObject*地址转成的整数,但非标准内存地址;小整数(-5~256)和部分字符串会被缓存导致相同id,可变对象就地修改id不变,新建则变。
-
222
-
2026-01-27 19:42:03
- Python 模块拆分与依赖控制技巧
- 避免循环导入需延迟导入、提取公共模块或用字符串类型注解;__init__.py应仅定义接口和轻量导出,禁放耗时初始化;pyproject.toml需分场景管理依赖;动态导入适用于插件式或条件性功能。
-
546
-
2026-01-27 19:42:47
- Python itertools 常用迭代组合技巧
- itertools.chain是合并多个可迭代对象的最优解,惰性求值、内存友好;chain.from_iterable适用于嵌套结构;groupby需预排序才能正确分组;islice是安全截取迭代器的唯一方式。
-
371
-
2026-01-27 19:43:02
- Python 单元测试设计与 pytest 实战
- pytest自动发现测试需满足文件名(test_.py或_test.py)、函数名(test_开头)、类名(Test开头且无__init__)规则;fixture作用域选function防污染、session慎用;异常断言须用pytest.raises()上下文管理。
-
996
-
2026-01-27 19:43:33
-
2026-01-27 19:43:35
- 如何检测当前终端是否为 Windows Terminal 或 PowerShell
- 最可靠的检测方式是检查WT_SESSION环境变量是否存在:PowerShell中用$env:WT_SESSION判断是否为空,CMD中用ifdefinedWT_SESSION,Bash中用[-n"$WT_SESSION"];该变量由WindowsTerminal注入,普通PowerShell或conhost中不存在,且微软官方承诺其稳定性与兼容性。
-
999
-
2026-01-27 19:47:02