Python3.x:类的特殊成员方法
2018-02-06 本文已影响15人
james_chang
__doc__
每个类都有相关的描述,在类中使用''' '''三引号来注明,(别说你写的类没有,那是因为你写的类不标准)使用__doc__
方法可以取得这一块的内容
![](https://img.haomeiwen.com/i9572744/4527417a02d87f6c.png)
也可以自己写
![](https://img.haomeiwen.com/i9572744/2d4b4c4d3862314d.png)
__module__
__class__
![](https://img.haomeiwen.com/i9572744/cc690dedce7f4055.png)
__module__
输出类在哪个库里__class__
则多输出了个类名
__call__
![](https://img.haomeiwen.com/i9572744/ddbf9258cb40990b.png)
通过在类中定义了
__call__
函数,可以使用实例化生成的对象后面再加括号的方式来调用__call__
函数
__dict__
查看类或者对象中的所有成员
![](https://img.haomeiwen.com/i9572744/9e284bcbbcd09af4.png)
可以直接打印类中的所用属性和函数的信息(不包括实例中的属性,可以打印类中的属性)
也可以打印对象中的信息(不包括类变量)
__str__
如果一个类中定义了这个方法,那么打印这个类实例化生成的对象是会打印__str__
函数的返回值
![](https://img.haomeiwen.com/i9572744/df782794ae4d0694.png)
__setitem__
__getitem__
__delitem__
如果在一个类中定义了这三个函数
假如这个类实例化生成了实例a
那么a[] =
会触发__setitem__
函数
a[]
会触发__getitem__
函数
del a[]
会触发__delitem__
函数
![](https://img.haomeiwen.com/i9572744/98aaaf47c61a3636.png)
由于
__new__
较为复杂,这里不做讨论,放在单独的篇幅中讨论>>类的特殊成员方法__new__
转载请注明出处
python自学技术互助扣扣群:670402334