Class
Python中也有类的概念,类中的成员函数不支持重载(overloading method),但支持重写(overiding method)。Python Class中还有很多隐含的成员函数,这些函数的首尾都是“__”开头结尾的。
隐藏的用法
构造与析构
new
创建对象时调用,返回当前对象的一个实例。
1 | __new__(cls, *args, **kwargs) |
init
对象建立后,第一个被调用的函数,相当于c++中的构造函数
1 | __init__(self, *args, **kwargs) |
del
对象销毁前,最后调用的函数,相当于c++中的析构函数
1 | __del__(self, *args, **kwargs) |
call
重写__call__方法后,对象当函数来使用,相当于重载了括号运算符
1 | __call__(self, *args, **kwargs) |
属性操作
getattr
获取属性
1 | __getattr__(self, key) |
setattr
创建或设置属性
1 | __setattr__(self, key, value) |
delattr
删除属性
1 | __delattr__(self, key) |
str
对象转换字符串函数
1 | __str__(self) |
repr
str()出来的是给人看的,repr()出来的是给Python看的,可以通过eval()重新变回一个Python对象。
1 | __repr__(self) |