如何执行 class (python)
how to execute a class (python)
#我正在制作一个计算面积和周长或圆的程序。没有错误,但答案不是我期望的那样。
class Circle:
def __init__ (self):
self.radius = 0
def setRadius(self,radius):
self.radius = radius
def calcArea (self):
self.area = 3.14 * (self.radius ** 2)
def calcCircumference (self):
self.circumference = 2 * (3.14 * self.radius )
def getRadius (self):
return self.radius ()
def getArea (self):
return self.calcArea ()
def getCircumference (self):
self.calcCircumference ()
#我的执行
c1 = Circle ()
print("c1.Area",c1.getArea())
c1.setRadius(7)
print("c1.Area",c1.getArea())
#这是我执行时得到的答案。
c1.Area None
c1.AreaNone
- 根据您的 class 定义,下面是打印区域的代码。
c1 = Circle()
c1.setRadius(7)
c1.getArea()
print("c1.Area", c1.area)
c1.Area 153.86
- 如果您希望仅通过调用
c1.getArea()
返回它,那么 class 代码中的以下更改将有助于 c1.getArea() and c1.getCircumference()
.
class Circle:
def __init__ (self):
self.radius = 0
def setRadius(self,radius):
self.radius = radius
def calcArea (self):
self.area = 3.14 * (self.radius ** 2)
return self.area
def calcCircumference(self):
self.circumference = 2 * (3.14 * self.radius )
return self.circumference
def getRadius (self):
return self.radius()
def getArea (self):
return self.calcArea()
def getCircumference (self):
return self.calcCircumference()
c1 = Circle ()
c1.setRadius(7)
print("c1.Area", c1.getArea())
print("c1.Area", c1.getCircumference())
# Below is the output
c1.Area 153.86
c1.Circumference 43.96
calcArea
和 calcCircumference
应该 return 一些值,因为这些值在其他方法中用于计算结果。此外,radius
是 属性 且不可调用。
像下面这样更改 class 定义
class Circle:
def __init__(self):
self.radius = 0
def setRadius(self, radius):
self.radius = radius
def calcArea(self):
self.area = 3.14 * (self.radius ** 2)
return self.area
def calcCircumference(self):
self.circumference = 2 * (3.14 * self.radius)
return self.circumference
def getRadius(self):
return self.radius
def getArea(self):
return self.calcArea()
def getCircumference(self):
self.calcCircumference()
那么你会得到如下结果
c1 = Circle()
print("c1.Area", c1.getArea()) # c1.Area 0.0
c1.setRadius(7)
print("c1.Area", c1.getArea()) # c1.Area 153.86
#我正在制作一个计算面积和周长或圆的程序。没有错误,但答案不是我期望的那样。
class Circle:
def __init__ (self):
self.radius = 0
def setRadius(self,radius):
self.radius = radius
def calcArea (self):
self.area = 3.14 * (self.radius ** 2)
def calcCircumference (self):
self.circumference = 2 * (3.14 * self.radius )
def getRadius (self):
return self.radius ()
def getArea (self):
return self.calcArea ()
def getCircumference (self):
self.calcCircumference ()
#我的执行
c1 = Circle ()
print("c1.Area",c1.getArea())
c1.setRadius(7)
print("c1.Area",c1.getArea())
#这是我执行时得到的答案。 c1.Area None c1.AreaNone
- 根据您的 class 定义,下面是打印区域的代码。
c1 = Circle()
c1.setRadius(7)
c1.getArea()
print("c1.Area", c1.area)
c1.Area 153.86
- 如果您希望仅通过调用
c1.getArea()
返回它,那么 class 代码中的以下更改将有助于c1.getArea() and c1.getCircumference()
.
class Circle:
def __init__ (self):
self.radius = 0
def setRadius(self,radius):
self.radius = radius
def calcArea (self):
self.area = 3.14 * (self.radius ** 2)
return self.area
def calcCircumference(self):
self.circumference = 2 * (3.14 * self.radius )
return self.circumference
def getRadius (self):
return self.radius()
def getArea (self):
return self.calcArea()
def getCircumference (self):
return self.calcCircumference()
c1 = Circle ()
c1.setRadius(7)
print("c1.Area", c1.getArea())
print("c1.Area", c1.getCircumference())
# Below is the output
c1.Area 153.86
c1.Circumference 43.96
calcArea
和 calcCircumference
应该 return 一些值,因为这些值在其他方法中用于计算结果。此外,radius
是 属性 且不可调用。
像下面这样更改 class 定义
class Circle:
def __init__(self):
self.radius = 0
def setRadius(self, radius):
self.radius = radius
def calcArea(self):
self.area = 3.14 * (self.radius ** 2)
return self.area
def calcCircumference(self):
self.circumference = 2 * (3.14 * self.radius)
return self.circumference
def getRadius(self):
return self.radius
def getArea(self):
return self.calcArea()
def getCircumference(self):
self.calcCircumference()
那么你会得到如下结果
c1 = Circle()
print("c1.Area", c1.getArea()) # c1.Area 0.0
c1.setRadius(7)
print("c1.Area", c1.getArea()) # c1.Area 153.86