【发布时间】:2020-09-18 04:54:35
【问题描述】:
我想知道一个对象是否拥有其所有类方法的副本。所以我创建了一个类person,定义了一个方法getName,并创建了一个对象Harry。我使用dir 函数来检查类和对象是否都存储了getName 方法并且它们都返回true。然后我打印出类和对象的getName 方法,它们返回不同的地址,但我注意到harry.getName 方法绑定到person.getName。这是否意味着harry.getName 不是其类方法的副本,而只是对其类方法的引用。要检查这个使用delattr 方法删除人员类的getName 属性,并再次使用dir 来检查它。正如预期的那样,它从类person和对象Harry中删除了它。
所以请检查我的代码并判断我的想法是否正确。
注意:
dir() 函数返回指定对象的所有属性和方法,不带值。
delattr()方法用于从对象中删除命名属性,需要对象的事先许可。
【问题讨论】:
标签: python class object methods instance