有些是根据廖雪峰老师的Python教程总结的,各种错误类型见:Exceptions
名称 | 作用 |
---|---|
__name__ | 对象的名字 |
__slots__ | 来限制class类型实例能添加的属性 class Student(object): __slots__ = (‘name’, ‘age’) # 用tuple定义允许绑定的属性名称. 使用__slots__要注意,__slots__定义的属性仅对当前类实例起作用, 对继承的子类是不起作用的,除非在子类中也定义__slots__,这样, 子类实例允许定义的属性就是自身的__slots__加上父类的__slots__。 |
– | 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__ |
__str__() | str()返回用户看到的字符串,如使用print()时即为给用户看的详见:定制类 |
__repr__() | 返回程序开发者看到的字符串,详见:定制类 |
__iter__ | 如果一个类想被用于for … in循环,类似list或tuple那样,就必须实现一个__iter__()方法, 该方法返回一个迭代对象,然后,Python的for循环就会不断调用该迭代对象的__next__()方法拿到循环的下一个值, 直到遇到StopIteration错误时退出循环。详见:定制类 |
__getitem__ | Fib实例虽然能作用于for循环,看起来和list有点像,但是,把它当成list来使用还是不行, 比如,取第5个元素就会报错,要表现得像list那样按照下标取出元素,需要实现、__getitem__()方法。详见:定制类 |
__getattr__ | 详见:定制类 |
@unique | 此装饰器可以保证枚举类型中没有重复的值 |