我正在尝试学习一些基本的Python对象设计。我注意到的一件事是,python并不要求你列出所有数据成员,然后才能在类中使用它们。相反,我注意到你能够在一个类的不同方法调用中引入新的数据成员。
参考下面的代码,注意我如何使用构造函数声明self.hello_world
成员。因为为该类的每个实例调用了构造函数,所以我确信每个对象都包含一个hello_world
成员。
但是,请注意我是否仅在调用self.dog
方法时创建printTest
数据成员。如果我不调用此方法,则此数据成员将不存在。
所以我的问题,与所有对象必须具有特定对象大小的编程语言C++
不同,由于我指出的内容,从同一个类实例化的python对象的大小会有所不同吗?
谢谢!
# Class test
class TestClass:
def __init__(self):
self.hello_world = 49
def printTest(self):
print("Trying to create new data member /n")
self.dog = "Biscuit"
答案 0 :(得分:2)
是的,你是对的。对象类型的每个实例都可以通过将它们分配给self.*
名称来拥有自己的成员数据集。