“`”
<ul>
<li><strong>new</strong>:生成实例
</li>
<li><strong>init</strong>:生成实例的属性
</li>
<li><strong>call</strong>:实例对象加( )会执行def <strong>call</strong>:… 方法里边的内容。
<strong>del</strong>:析构方法,当对象在内存中被释放时,自动触发执行。如当 del obj 或者应用程序运行完毕时,执行该方法里边的内容。
<strong>enter</strong>和<strong>exit</strong>:出现with语句,对象的<strong>enter</strong>被触发,有返回值则赋值给as声明的变量;with中代码块执行完毕时执行<strong>exit</strong>里边的内容。
<strong>module</strong>:表示当前操作的对象在那个模块 obj.<strong>module</strong>
<strong>class</strong> :表示当前操作的对象的类是什么 obj.<strong>class</strong>
<strong>doc</strong>:类的描述信息,该描述信息无法被继承
<strong>str</strong>:改变对象的字符串显示 print函数 —>obj.<strong>str</strong>()
<strong>repr</strong>:改变对象的字符串显示 交互式解释器 —>obj.<strong>repr</strong>()
<strong>format</strong>:自定制格式化字符串
<strong>slots</strong>:一个类变量 用来限制实例可以添加的属性的数量和类型
<strong>setitem</strong>,<strong>getitem,</strong>delitem__:
</li>
</ul>
<pre><code>class Foo:
def __init__(self,name):
self.name=name
def __getitem__(self, item):
print(self.__dict__[item])
def __setitem__(self, key, value):
self.__dict__[key]=value
def __delitem__(self, key):
print('del obj[key]时,我执行')
self.__dict__.pop(key)
def __delattr__(self, item):
print('del obj.key时,我执行')
self.__dict__.pop(item)
f1=Foo('sb')
f1['age']=18
f1['age1']=19
del f1.age1
del f1['age']
f1['name']='alex'
print(f1.__dict__)
</code></pre>
<strong>get</strong>():调用一个属性时,触发
<strong>set</strong>():为一个属性赋值时,触发
<strong>delete</strong>():采用del删除属性时,触发
<strong>setattr</strong>,<strong>delattr</strong>,<strong>getattr</strong> :
<pre><code> "“`
Was this helpful?
0 /
0