在python中看到类对象的结果

2024-10-06 12:40:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚用python编写了这个类来从数据集中提取一些特性:

class Features :

    def __init__ (self , data):
        self.data = data 

    def Energy (self) :
        energy=float (sum(self.data**2))
        return (energy)

    def Power (self):
        power = float (sum(self.data**4))
        return power

    def NonlinearEnergy (self) :
        limit1=0
        NLE = 0
        while limit1 < len(self.data):
            NLE += float ((-self.data[limit1]*self.data[limit1-2] + self.data[limit1-1]**2 ))
            limit1+=1

        return NLE

    def CurveLength (self):
        limit2=0
        CL=0
        while limit2 < len(self.data):
            CL += float ((self.data[limit2] - self.data[limit2-1]))
            limit2+=1

当我尝试查看数据集对象的结果时,结果如下所示:

<bound method Features.Energy of <__main__.Features object at 0x0000028952C105C0>>

我的问题是:我如何从数字上看到结果,或者换句话说,我如何看到我的实际结果?你知道吗


Tags: 数据selfdatareturndeffloatenergyfeatures
1条回答
网友
1楼 · 发布于 2024-10-06 12:40:48

这个问题是调用一个没有括号的方法的结果。你知道吗

看看这个例子:

obj = Features(data)
print (obj.Energy())

因此,首先为类创建一个新对象,然后将方法调用为obj.Energy()。这是因为,每当一个对象调用它的方法时,对象本身作为第一个参数被传递。所以,obj.Energy()转换成Features.Energy(obj)

相关问题 更多 >