我想知道一个对象是否具有其所有类方法的副本。因此,我创建了一个类person
,定义了一个方法getName
,并创建了一个对象Harry
。我使用了dir
函数来检查类和对象是否都存储有getName
方法,并且它们都返回true。然后,我打印出类和对象的getName
方法,它们返回了不同的地址,但是我注意到harry.getName
方法与person.getName
绑定。这是否意味着harry.getName
不是其类方法的副本,而是对其类方法的引用。要进行检查,请使用delattr
方法删除人员类别的getName
属性,然后再次使用dir
进行检查。并按预期将其从类person
和对象Harry
中删除。
所以请检查我的代码并告诉我想法是否正确。
注意:
dir()
函数返回指定对象的所有属性和方法,不包含值。
delattr()
方法用于在对象的事先许可下从对象中删除命名属性。