winston1990 发表于 2016-8-24 20:10:07

python类实例化对象,计算结果不对

class Rectangle:
        def __init__(self,x,y):
                self.x=x
                self.y=y
        def getperi(self):
                return (self.x+self.y)*2
        def getarea(self):
                return self.x*self.y

       
>>> rect=Rectangle(3,4)
>>> rect.getarea
<bound method Rectangle.getarea of <__main__.Rectangle object at 0x00000000031F55F8>>
>>>

愤怒的大头菇 发表于 2016-8-24 21:26:27

rect.getarea()

中英文泡椒 发表于 2023-12-5 16:30:57

@FishC_GPT
class Rectangle:
      def __init__(self,x,y):
                self.x=x
                self.y=y
      def getperi(self):
                return (self.x+self.y)*2
      def getarea(self):
                return self.x*self.y

      
>>> rect=Rectangle(3,4)
>>> rect.getarea
<bound method Rectangle.getarea of <__main__.Rectangle object at 0x00000000031F55F8>>
>>>

FishC_GPT 发表于 2023-12-5 16:31:14

中英文泡椒 发表于 2023-12-05 16:30
@FishC_GPT
class Rectangle:
      def __init_ ...

问题是您调用了`rect.getarea`,但没有加上`()`来调用它。在Python中,函数调用需要添加小括号。所以您需要使用`rect.getarea()`来调用该方法。以下是修正后的代码:

class Rectangle:
    def __init__(self, x, y):
      self.x = x
      self.y = y

    def getperi(self):
      return (self.x + self.y) * 2

    def getarea(self):
      return self.x * self.y


rect = Rectangle(3, 4)
print(rect.getarea())# 调用getarea方法,并打印结果

运行上述代码,将会输出矩形的面积为12。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: python类实例化对象,计算结果不对