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)