python教程技术文章
-
Python 3.11 引入的 StrEnum 适合承载接口中的稳定字符串值。本文从 name 与 value 的区别出发,演示 json.dumps 序列化、枚举类调用反序列化,以及严格编码器和未知值场景下的处理边界。393 收藏 -
Python configparser 默认启用 BasicInterpolation,配置值中的单个百分号可能被当成插值语法。本文说明为什么要写成 %%、如何使用 %(name)s 引用配置、怎样用 raw=True 读取原文,以及什么时候应该关闭 interpolation。393 收藏 -
围绕 Python sqlite3 讲清 autocommit、isolation_level、executescript 和 commit/rollback 的边界,帮助写入逻辑避免意外提交。391 收藏 -
解释 ChainMap 查找层与写入层的差异,演示用 maps 显式更新指定配置、用 new_child 隔离修改,以及何时应该封装深层写入规则。390 收藏 -
Python 的 csv.Sniffer 只能根据样本文本做启发式判断。本文用受限候选分隔符、足够样本、csv.Error 兜底和 reader 结果检查,降低小样本误判带来的导入问题。389 收藏 -
Python SAX 解析器可能把同一段字符拆成多次 characters() 回调。本文用 ContentHandler 的元素边界和文本缓冲区,说明怎样在普通元素与嵌套元素中收集完整文本。382 收藏 -
dataclasses.replace 会调用数据类的 __init__ 重建对象,而 InitVar 不保存在实例字段中。本文讲清无默认值时如何显式传参、有默认值时的回退行为、init=False 字段重算,以及何时应改用真实字段或自定义复制方法。381 收藏 -
Python 3.15 新增的 sentinel 类型适合表示“参数未提供”这一状态。本文从 None、object() 和类型注解的差异出发,给出默认值设计、身份判断、复制序列化和旧版本兼容的实用写法。381 收藏 -
Python 3.12 的 type 语句会创建 TypeAliasType。本文从普通赋值的歧义出发,说明如何声明类型别名、读取运行时元数据,并区分别名与 NewType 的边界。380 收藏 -
Python 的 csv.reader.line_num 统计的是已经读过的物理行数,不等于返回的记录数。本文结合带引号换行的 CSV 场景,说明 newline=""、记录序号、csv.Error 和业务字段校验如何配合定位坏记录。379 收藏 -
用SQL命名占位符和Python字典绑定sqlite3查询,解释冒号与键名、缺键错误、None和NULL语义,以及参数值与表名列名的边界,附完整库存查询示例。378 收藏 -
用 ContextVar 保存请求级上下文,再由 logging.Filter 统一注入 request_id,兼顾线程与 asyncio 场景。377 收藏 -
Python statistics.fmean 会先把输入转为 float,再计算算术平均,并始终返回浮点数。本文说明普通平均、加权平均、空数据、权重长度和混合数值类型的处理边界。377 收藏 -
Python functools.partial 可以预先绑定函数的一部分位置参数或关键字参数,返回一个更适合传给排序、映射和事件回调的可调用对象。本文用格式化与排序场景说明它保存什么、怎样调用,以及何时应该改用闭包或具名函数。373 收藏 -
Python sqlite3 的动态查询不要把用户输入直接拼进 SQL。本文从 qmark、named 两种占位符讲起,说明动态 IN 条件如何按参数数量生成占位符,以及表名、列名和排序方向为什么需要白名单。372 收藏