Python VS C++
执行
Python | C++ | |
---|---|---|
语言类型 | 脚本语言 | 编程语言 |
运行方式 | 解释器翻译成可识别的指令,解释运行 | 编译链接,形成可执行文件 |
执行效率 | 较低 | 很高 |
语法 | 动态 | 严格 |
平台 | 可跨平台 | 不可跨平台 |
优点 | 方便快捷,轻量级开发 | 安全稳定 |
内存管理
Python内存管理
引用计数
Python中的赋值即对对象的引用。对对象的引用类似C++中的指针,因此变量的复制就是多个变量指向同一个对象:
a = 3
b = 3
print(id(a) == id(b)) # True
print(a is b) # True
但只有对不可变对象(int、bool、float、tuple、string等)的多个引用才是指向同一个对象(内存空间),对可变对象(list、object等)的多个引用是分配不同的内存空间:
a = []
b = []
print(id(a) == id(b)) # False
print(a is b