Simple is better than complex.
在 Python 中, string 中的每一个字符占的空间大小是 8 bit。
>>> import sys >>> sys.getsizeof('') 37 >>> sys.getsizeof('a') 38
能够看到, 空字符占用37个 byte, 长度为1的字符串 'a' 占内存 38个 byte. 多了一个字符 a 以后多了 1 个 byte。
相干引荐:《python视频教程》
每一个 char 就是存在 ob_sval 内里的, 占大小 8bit. 余下的36个 byte 重要来自于宏 PyObject_VAR_HEAD. 实际上 python 的string完成还用到了一个叫 *interned 的全局变量, 内里能够存长度为 0 或 1 的字符串, 也就是 char, 能够节约空间而且加快速度。
实际上在 python 里既没有指针也没有"袒露的数据结构" (非对象), 连最简朴的整数 integer 都是如许完成的。
总而言之, 如许的设想满足 python 的 "一切都是对象", "一切都尽量simple" 的设想头脑。
以上就是python支撑char吗的细致内容,更多请关注ki4网别的相干文章!