我们都知道我们在创建一个类的时候python默认是继承与object这个基类的,这个基类里面包含的方法就是我们常说的魔法方法,要想学好python中面向对象的编程,了解这些魔法方法是必要的,接下来我们通过其中的dir()方法,将我们创建类的所有方法打印出来,方便我们研究:
class cesi(object):
"""这是一个用于测试的类"""
def __init__(self, name, age):
super(cesi, self).__init__()
self.name = name
self.age = age
def run(self):
self.name = "Tom"
def main():
t = cesi("Jhon", 18)
for method in dir(t):
print(method)
if __name__ == "__main__":
main()
在其中我们使用了dir()方法,那么他的作用应该很明显了,就是获得我们类的方法列表,包括父类方法
__class__:展示当前对象所属的类及父类
__delattr__:delattr(x, 'foobar') 相等于 del x.foobar
__dict__:以字典的形式展示当前对象的属性
__dir__:返回对象方法的列表
__doc__:描述类的信息
__eq__:拥有__eq__方法的对象支持相等的比较操作
__format__:格式化字符串的方法
__ge__:可比较的类,跟__eq__同属一类内置方法
__getattribute__:获取一个计算属性(无条件的)
__gt__:可比较的类
__hash__:拥有此属性的对象能够进行hash
__init__:创建对象过程进行初始化
__init_subclass__:
__le__:比较属性
__lt__:比较属性
__module__:查看该对象属于哪个模块
__ne__:比较属性
__new__:在对象被创建的时候回自动调用,返回内存空间
__reduce__:
__reduce_ex__:
__repr__:将对象转化为供解释器读取的形式
__setattr__:设置某属性的值
__sizeof__:返回地址
__str__:如果一个类中定义了__str__方法,那么在打印 对象 时,默认输出该方法的返回值
__subclasshook__:控制某个类是否是该类的子类
__weakref__:
方法详解
类的基础方法
原创文章 48获赞 0访问量 5502
关注
私信
展开阅读全文
作者:Elegantmadman