由于没有正式的初始化,相同的Python对象的大小是否会有所不同?

时间:2016-04-30 15:05:19

标签: python class oop initialization

我正在尝试学习一些基本的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"

1 个答案:

答案 0 :(得分:2)

是的,你是对的。对象类型的每个实例都可以通过将它们分配给self.*名称来拥有自己的成员数据集。