关于41课,魔法方法问题
class Rectangle:def __init__(self,x,y):
self.x = x
self.y = y
def getPeri(self):
return(self.x + self.y)*2
def getAera(self):
return(self.x * self.y)
rect = Rectangle(3, 4)
rect.getAera
<bound method Rectangle.getAera of <__main__.Rectangle object at 0x03531FF0>>
rect.getPeri
<bound method Rectangle.getAera of <__main__.Rectangle object at 0x03531FF0>>
为什么我的是这样的结果 class Rectangle:
def __init__(self,x,y):
self.x = x
self.y = y
def getPeri(self):
return(self.x + self.y)*2
def getAera(self):
return(self.x * self.y)
rect = Rectangle(3, 4)
print(rect.getAera)
此时的输出是:
<bound method Rectangle.getAera of <__main__.Rectangle object at 0x000001827FE7D460>>
而最后一行加了括号之后:
class Rectangle:
def __init__(self,x,y):
self.x = x
self.y = y
def getPeri(self):
return(self.x + self.y)*2
def getAera(self):
return(self.x * self.y)
rect = Rectangle(3, 4)
print(rect.getAera())
此时输出正常
12
原因:调用方法时带括号和不带括号是不同的
详解可以参考
<font color="red">[已解决]</font>python函数最后,返回函数名带括号与否的区别
https://fishc.com.cn/thread-185095-1-1.html
(出处: 鱼C论坛)
<font color="red">[已解决]</font>Python 020讲 关于调用函数带和不带括号的问题
https://fishc.com.cn/thread-173008-1-1.html
(出处: 鱼C论坛)
调用方法你没加括号啊
页:
[1]