摘要: 一句话结论:str 是 Unicode 码点序列,bytes 是 0–255 的整数序列。两者之间那道 .encode() / .decode(),是一次有规则的换算,不是「加个 b 前缀」。 本文所有数字来自本机 CPython 3.13.14 实测。 一、同一个字符,长度可以是 1、2、3、4 阅读全文
posted @ 2026-11-11 10:21 小小张说故事 阅读(1) 评论(0) 推荐(0)
摘要: 一句话结论:只要你在类里定义了 __eq__ 而没显式定义 __hash__,CPython 会把 __hash__ 直接设成 None,实例立刻变成「不可哈希」,放进 set 或当 dict 键都会抛 TypeError: unhashable type。这不是 bug,是语言在替你守住一条契约: 阅读全文
posted @ 2026-11-10 10:26 小小张说故事 阅读(3) 评论(0) 推荐(0)
摘要: 写类的时候,self.__x 几乎被当成「私有属性」的同义词。但真去 obj.__x 取,会得到一个 AttributeError;obj._Cls__x 却能拿到值。这中间的 _Cls__ 是谁加的、什么时候加的、继承后又会变成什么样? 一句话结论:Python 没有私有属性。类体里以两个下划线开 阅读全文
posted @ 2026-11-09 09:54 小小张说故事 阅读(2) 评论(0) 推荐(0)
摘要: 几乎每个 Python 教程都会警告「别用可变对象当默认参数」,但多数只给结论不给机制:为什么是共享的?那个列表到底存在哪儿?什么时候被求值一次? 一句话结论:默认参数不是每次调用时创建的,而是在 def 语句执行、函数对象被创建那一刻求值一次,之后作为 __defaults__ 元组挂在函数对象上 阅读全文
posted @ 2026-11-08 12:39 小小张说故事 阅读(3) 评论(0) 推荐(0)
摘要: 很多人写过 del x 之后顺手去看内存,发现没降,于是怀疑「Python 不释放内存」。其实 del 从来就不负责释放对象,它只删掉一个名字。 一句话结论:CPython 靠引用计数即时回收,计数归零的那一刻对象就没了;但两个对象互相引用时,计数永远归不了零,这部分要靠分代 GC 补。del 只是 阅读全文
posted @ 2026-11-07 09:48 小小张说故事 阅读(6) 评论(0) 推荐(0)
摘要: Python 3.10 加了 match 之后,最常见的一句评价是「终于有 switch 了」。这句话方向就错了。 一句话结论:match 不是 switch,它是「结构化模式匹配」——匹配的是数据的形状,不是值;它没有 fallthrough,是语句不是表达式,而且比 dict 分派还快。 以下全 阅读全文
posted @ 2026-11-06 09:19 小小张说故事 阅读(5) 评论(0) 推荐(0)
摘要: 先看几行我在本机跑出来的结果(CPython 3.13.14): >>> type(list[int]) <class 'types.GenericAlias'> >>> list[int] is list[int] False >>> list[int] == list[int] True >>> 阅读全文
posted @ 2026-11-05 15:08 小小张说故事 阅读(5) 评论(0) 推荐(0)
摘要: 先看一段很像「标准写法」的代码: def divide(a, b): assert b != 0, "除数不能为 0" return a / b 用 python main.py 跑,传 b=0 会抛 AssertionError: 除数不能为 0,看着挺稳妥。 用 python -O main.p 阅读全文
posted @ 2026-11-04 09:29 小小张说故事 阅读(5) 评论(0) 推荐(0)
摘要: 先看一段能让人怀疑人生的代码: def add(x, lst=[]): lst.append(x) return lst print(add(1)) # [1] print(add(2)) # [1, 2] ← 为什么不是 [2]? print(add(3)) # [1, 2, 3] 函数里一行"重 阅读全文
posted @ 2026-11-03 09:05 小小张说故事 阅读(4) 评论(0) 推荐(0)
摘要: 先做个实验: import sys print(sys.getsizeof(range(100))) # 48 print(sys.getsizeof(range(10**8))) # 48 range(1) 和 range(100000000) 占的内存一模一样,都是 48 字节。一亿个整数,每个 阅读全文
posted @ 2026-11-02 09:59 小小张说故事 阅读(3) 评论(0) 推荐(0)