Python isinstance 的候选顺序:元组里混入数字,为什么有时通过有时才报错 配置里把允许的类型写成一个元组,测试整数样本完全正常,换成字符串却突然抛TypeError。排查后发现元组里混进了普通数字。isinstance可能在前面的候选已经成功时就返回,因此一次匹配成功并不能证明整个候选配置... yunqueblog/ 技术教程/ 2026-10-03/ 3 阅读
Node.js parseArgs 重复选项:传了两次 mode,为什么结果只保留最后一次 维护一个命令行工具时,用户可能同时传入 --mode=fast 和 --mode safe。解析没有报错,values.mode 却只剩 safe。要判断是否误写了两次,就不能仅检查最终 values;需要保留原始选... yunqueblog/ 技术教程/ 2026-10-02/ 2 阅读
Python operator.index:需要整数个数时,为什么不该直接调用 int 个数接口不应悄悄替调用者取整写一个取前几项的函数时,先做 n=int(value) 看起来很方便:字符串和浮点数都能变成整数。但传入三点九会直接变成三,错误的调用约定被隐藏了。如果接口要求调用者提供整数个数,更合适的... yunqueblog/ 技术教程/ 2026-10-02/ 2 阅读
Python Signature.bind:参数能对上函数签名,为什么仍不代表值合格 先检查怎么调用,再决定是否执行工具分发器或任务入口拿到一组参数时,常常希望先知道它能否对应目标函数:必填项缺了吗,同一个参数给了两次吗,只能按位置传入的参数被写成关键字了吗。inspect.signature 得到的... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读
Python argparse 布尔开关:为什么传入 false,结果却仍然为真 先决定用户要传开关,还是传一个值一个报告脚本默认启用缓存,调用者希望临时关闭,于是输入缓存参数和单词 false,结果缓存仍然开启。问题往往不在缓存逻辑,而在命令行入口:布尔转换函数只判断字符串是否为空,并不理解这个... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读