84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
在php的情况下,如果是调用了不存在的实例方法,会调用 __call
如果是python的话,当调用了不存在的实例方法,有什么魔术方法会被触发吗?
如果是没有,有没有比较好的方式手动设置触发条件,在调用不存在的实例方法的时候出发,除了 抛异常
人生最曼妙的风景,竟是内心的淡定与从容!
有的。
访问Python对象实例的成员的时候,如果在一般位置找不到该成员,则会调用类的__getattr__方法。你可以在类里显示定义这个方法,来定义你希望的行为。
__getattr__
这个方法可以返回一个值,或者抛出一个AttributeError异常。
AttributeError
另外还有一个__getattribute__方法,每次访问实例成员的时候都会触发,具体可以参考官方文档。
__getattribute__
有的。
访问Python对象实例的成员的时候,如果在一般位置找不到该成员,则会调用类的
__getattr__
方法。你可以在类里显示定义这个方法,来定义你希望的行为。这个方法可以返回一个值,或者抛出一个
AttributeError
异常。另外还有一个
__getattribute__
方法,每次访问实例成员的时候都会触发,具体可以参考官方文档。