Python的设计哲学:
优美优于丑陋,明了优于隐晦简单优于复杂,复杂优于凌乱扁平优于嵌套,稀疏优于稠密可读性很重要首先:Python是一门解释型语言(虽然有编译过程)
程序开发者编写的代码是高级语言,计算机是看不懂的,故需要一个“翻译官”将我们写的代码转换成计算机可以看明白的,这个“翻译”的过程有2中——编译和解释
编译型语言:先编译,再运行,在程序运行之前,先通过编译器将代码转化成机器码,然后再交给计算机运行——典型代表C语言解释型语言: 边解释边运行,程序直接开始运行,解释器逐行给计算机进行解释,接着直接运行字节码并不是机器码,而是可由解释器执行的低级指令集合
Python的运行其实也需要编译这一步,编译成字节码,但大多数情况下Python是一门解释型语言。
运行python程序(.py文件)时,我们会发现生成了一种.pyc文件,.pyc文件中存储着python程序编译后的字节码
python运行机制: 首先将.py文件编译成字节码,存储在.pyc文件中(该字节码在虚拟机上运行非cpu)。当python程序第二次运行时,首先程序会在硬盘中寻找.pyc文件,如果找到直接运行,否则重复上述过程。
由于引入了字节码,其加载速度比之前的.py文件有所提高,而且还可以实现源码隐藏,一定程度上可以反编译
内存空间有限,需要不断的将这些垃圾回收,早期的编程语言,内存的分配主要依靠手动操作,现在都采用垃圾回收站代替人工进行。
垃圾回收: 不再使用的变量要从内存中移除或移动到别的地方
内存管理的方式:
简化方式: 利用 “引用次数”,跟踪变量的引用次数,当次数下降到0,则删除对象(python中无法禁用此功能)利用“生成垃圾回收”线程方法:当对象引用自己或者两个对象相互引用时则无法使用“引用次数”__pycache__文件夹下保存着 .pyc/.pyo 文件