具有多个属性级别的类[初学者]

时间:2015-10-21 02:53:31

标签: python class attributes

python是否具有类似于MATLAB中可见的数据结构的功能?

例如,能够调用类似于以下内容的类:

variable = Class(inputs)

允许使用多个属性调用变量(不确定属性是否是正确的术语)。

variable.attribute1.attribute2

换句话说,定义一个类将提供这些多个属性的功能。如果存在这样的功能,我只会寻求文档。

我会添加一个小例子,因为我的问题很模糊。 因此,我将定义一个将数据集分配给变量的类。

class Properties(object):

    def __init__(self, data_set1, data_set2):
        self.Data1 = data_set1
        self.Data2 = data_set2

现在,我将定义一个变量。

variable = Properties([1, 2, 3, 7], [3, 9, 2, 8])

显然现在我可以将变量及其各自的数据集称为:

variable.Data1
variable.Data2

我希望有另一个类能够定义集合的统计属性,例如:

variable.Data1.Maximum
variable.Data1.Minimum
variable.Data2.StandardDev

2 个答案:

答案 0 :(得分:5)

class Attribute(object):
    pass

class MyClass(object):
    def __init__(self):
        self.attribute1 = Attribute()

variable = MyClass()
variable.attribute1.attribute2 = 5

答案 1 :(得分:0)

一个类是一个具有属性的对象(python中的python对象,一切都是对象)和行为(函数)。

使用Class(inputs)初始化类时,它实际上运行了该类构造函数,该构造函数可以设置部分或全部结果对象属性,例如variable.attribute1

属性可以是任何数据类型......数字,字符串甚至其他类。这意味着attribute1可以是Class2的对象,它具有名为attribute2的OWN属性(它可以是任何类型的对象,包括另一个类,如果你想变得疯狂,甚至是Class或Class2类型的对象笑)。

所以,TL; DR ......是的。

相关问题