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

__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#类的特殊函数)