排序
Python整数校验:bool为何能通过isinstance
接口要求数量是整数时,只写isinstance(value, int)可能还会接受True或False。Python中的bool是int的子类,因此业务校验需要明确布尔值是否属于允许输入。
Python re.escape:匹配点号和加号等特殊字符
把用户文字嵌入正则模式时,点号、加号等字符可能被解释为语法。若目标是匹配这段文字本身,可先用re.escape处理模式片段,并明确是否要求整串匹配。
Python all([])为何为True:空集合与条件判断
使用all检查一批记录是否合格时,空输入会返回True。它表示没有遇到不满足条件的元素,不表示这批数据真的包含了合格记录。需要非空的业务规则必须单独表达。
Python casefold与lower:Unicode大小写比较
只把文字转为小写,不一定能覆盖Unicode中的大小写无关匹配。casefold为这种匹配提供更强的折叠处理,但它仍不是所有文字等价问题的统一答案。
Python DictReader处理CSV缺列与多列
csv.DictReader能把每行转换为字典,但列数不一致时并不总会报错:多余字段可进入restkey,缺失字段用restval补齐。导入前明确处理这两种情况,才能避免把异常记录当成完整数据。
Python dataclass frozen的边界:字段与嵌套列表
给dataclass设置frozen=True后,普通字段赋值会被拒绝,但字段引用的列表仍可能改变。要表达真正稳定的数据快照,需要同时检查字段里的对象,而不只看装饰器上的frozen选项。


