__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)
网友评论