摘要: 当调用不存在的属性时,比如score,Python解释器会试图调用__getattr__(self, 'score')来尝试获得属性,这样,我们就有机会返回score的值: 当调用不存在的属性时,比如score,Python解释器会试图调用__getattr__(self, 'score')来尝试获 阅读全文
posted @ 2017-04-29 18:24 mximo 阅读(294) 评论(0) 推荐(0)
摘要: BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- Exception +-- StopIteration +-- StopAsyncIteration +-- ArithmeticError | +-- FloatingPointError... 阅读全文
posted @ 2017-04-29 18:24 mximo 阅读(232) 评论(0) 推荐(0)
摘要: class Student(object):__slots__ = ('name', 'age') # 用tuple定义允许绑定的属性名称 即Student对象只能绑定name,age属性,只对父类有效,子类对象无限制 PS:与C++不一样的的是,python中类的属性和对象的属性是分开的, 阅读全文
posted @ 2017-04-29 15:10 mximo 阅读(250) 评论(0) 推荐(0)
摘要: 静态语言 vs 动态语言对于静态语言(例如Java)来说,如果需要传入Animal类型,则传入的对象必须是Animal类型或者它的子类,否则,将无法调用run()方法。对于Python这样的动态语言来说,则不一定需要传入Animal类型。我们只需要保证传入的对象有一个run()方法就可以了。 Pyt 阅读全文
posted @ 2017-04-29 14:29 mximo 阅读(376) 评论(0) 推荐(0)