Q: @staticmethod和@classmethod 有什么区别?
A: @staticmethod不需要表示自身对象的self和自身类的cls参数,就跟使用函数一样。@classmethod也不需要self参数,但第一个参数需要是表示自身类的cls参数。
Q: Python的特点?
A: 主要特点有
- 解析型语言.
- 动态类型.
- 没有类成员没有访问标识
- 函数是一等公民. 很便于FP编程
- 语法噪声小. 基本是目前所有语言中最接近伪代码的.
Q: Python 的缺点?
A:解析型语言, 原生代码运行速度慢. 动态类型, 没有类成员访问控制, 在开发和维护上会有问题.
Q: Python是如何进行内存管理的?
A: Python内部使用引用计数, 引用计数为0的对象会GC. 对于相互引用迭代对象, 解析器会定时运行一个循环解析器, 用来回收不可访问的对象. GC的内存还到内存池, 而不是操作系统. <256Byte的对象使用pymalloc, 大对象由操作系统的 malloc 进行内存分配. Python对象有私用内存池, 相互不通.