Python笔记

note about Python

Posted by wykxwyc on August 4, 2024

目录


Python3的特化访问加速

Specialized Adaptive Interpreter-LOAD_ATTR
Pure Python Class CAN be specialized
Pure Python Class with _getattr_overwritten CANNOT be specialized
C-Extended Python Class CANNOT be specialized

Python3中的bytes与unicode的转换

python发展过程中,最初设计使用ASCII编码,后来扩充到Latin-1, 再后来扩展到unicode。
unicode首先使用2字节代表一个字符,再后来扩展到4字节代表一个字符,空间有浪费,所以有了utf-8这种变长的编码方式。
bytes – decode –> unicode
bytes <– encode – unicode

Python3与python2的文件区别

在python2中:
python *.py –> .pyc
pyhton -O –> .pyo
pyhton -OO –> .pyo

-O : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x
-OO : remove doc-strings in addition to the -O optimizations

Python3中取消了pyo文件,统一使用pyc
Python3 –> .pyc