python代码运行流程
python程序在运行时, 按照 代码 - 字节码 -PVM 的流程运行。
从代码到字节码是一个简单的翻译过程,与平台无关。
之后字节码会被送入PVM(python虚拟机),PVM可以看做一个迭代运行字节码程序的大循环。
字节码不是二进制代码,所以python无法像c一样快。
python从别的模块导入属性的两种方法
- python有两种方法获得别的文件中的属性,例如要获得 account.py 中的 num属性
import account
print(account.num)
此种方法代表了 object.attribute 的方法,可以调用 object中的任意属性,也体现了python中一切都是对象。
from account import num
print(num)
此方法通过from复制了account中的num属性并赋予了接收者(当前程序)。
python文件组织形式
一般来说,python文件一般由多个模块组成,每个模块有独立的命名空间,模块间通过 import来互相调用。
不可变性
数字,字符串和元组不可变,字典和列表可变。
例如不能对字符串的某个位置赋值来改变字符串,但总是可以创建一个新的字符串对其赋值。
字符串的两种基础格式化方式
a = '%s, hmtl,%s'%('python','flask')
print(a) #python, hmtl,flask
a = '{0},html,{1}'.format('python','flask')
print(a) #python, hmtl,flask
垃圾收集简述
python在每个对象(是对象不是变量名,变量可以指向任意对象)中保持了一个计数器用来统计当前指向该对象的引用的数目。一旦该数字为0,这个对象的内存空间就会被回收。
Python引入了标记-清除和分代回收两种GC机制来解决循环引用的问题。