另开一文继续写Dive into Python
的笔记。
-
###使用
from module import
导入模块:与
import module
的差别在于,module被直接导入到局部名字空间内了,所以它可以直接被使用,而不需要加上模块名的限定。 -
###类的定义
class FileInfo (UserDict): "store file metadata" def __init__(self,filename = None): UserDict.__init__(self) self["name"] = filename
- 类名一般首字母大写
- 从基类继承,只需要在括号中写上基类名
- __init__有点像C++的构造函数
- 必须显示调用父类的__init__方法
-
###类的实例化
import fileinfo f = fileinfo.FileInfo ("/music/_singles/kairo.mp3")
- 实例化一个类只需要像函数一样调用类即可
- 内存泄漏在Python中很少见,因为Python有个
引用计数
的垃圾收集方式
-
###探索 UserDict
class UserDict(): def __init__(self, dict = None): self.data = {} if dict is not None :self.update(dict)
- update是个字典和合并函数
def clear(self): self.data.clear() def copy(self): if self.__class__ is UserDict: return UserDict(self.data)
- 我们这的copy函数应该也应该返回一个类的实例
-
###私有函数
在Python中,如果一个函数,类方法或者属性以两个下划线开始(但不以其结束),它就是私有的,你不能在类外面调用它们