美文网首页
#python入门11#类的特殊函数

#python入门11#类的特殊函数

作者: MORESIR | 来源:发表于2017-02-16 16:40 被阅读13次

    __getattr__(): 当调用不存在的属性时调用此方法来尝试获得属性

    __init__(): 实例化类时,会自动调用此方法

    __str__():打印实例时,会自动调用此方法,用于自定义输出信息

    __repr__():为调试服务的

    区别是__str__()返回用户看到的字符串,而__repr__()返回程序开发者看到的字符串,可使用__repr__ = __str__使得打印的信息一致

    __iter__():返回一个迭代对象,使得该对象可用于for ... in循环,类似list或tuple那样

    __next__():迭代对象时调用

    __getattr__():调用类的方法或属性时,如果不存在,则会自动调用此方法

    __call__():调用对象不存在的方法时,会自动调用此方法

    callable(objName): 判断对象是否可调用

    __getitem__():像list那样按照下标取出元素,需要实现__getitem__()方法

    __setitem__():把对象视作list或dict来对集合赋值

    __delitem__():用于删除某个元素

    Python的class允许定义许多定制方法,请参考Python的官方文档

    class Student(object):
       def __init__(self, name):
         self.name = name
       def __str__(self):
          return 'Student object (name: %s)' % self.name
        __repr__ = __str__
    
    print(Student('Michael'))
    # Student object (name: Michael)
    Student('Michael')
    # Student object (name: Michael)
    
    学习来源于廖雪峰教程

    相关文章

      网友评论

          本文标题:#python入门11#类的特殊函数

          本文链接:https://www.haomeiwen.com/subject/veaxmttx.html