今天在__builtin__
里发现一个intern
方法,(原来是internal的意思..
其实 C 里面有个文字常量区,就是说只要是字符串字面量都会存在那里。
才知道Python里不太一样,比如说
1 2 3 4 |
|
真相是,python只对由0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz
中的字符组成的字符串自动做intern。
因为它们可能会更短…更像标识符..
另外,在 Python 3 中,似乎被移到sys.intern
中去了
Reference
- http://stackoverflow.com/questions/1136826/what-does-python-sys-intern-do-and-when-should-it-be-used/1137293
Comments