探秘Python中__getattr__和__getattribute__的区别与联系
在Python中,getattr__和__getattribute 是两个非常重要的魔法方法,它们可以实现对属性或方法访问的自定义处理。虽然它们都能够在对象访问时起到作用,但是它们的实现机制以及使用方式都有很大的不同。本文将会对这两个方法进行深入的剖析,并且通过相关源码来解释它们的区别和联系。
- getattr
getattr 方法在访问一个不存在的属性时会被调用,也就是说它可以在运行时动态地获取属性。我们先来看下面这个例子:
class Student:
def __init__(self, name):
self