Python中的简单类
from math import pi
class sphere(object):
def __init__(self,radius):
self.radius = radius
def get_radius(self):
return radius
def surfaceArea(self):
return 4*pi*radius**2
def volume(self):
return (4//3)*pi*radius**3
radius = input("Please enter your radius:")
print sphere.get_radius()
print sphere.surfaceArea()
print sphere.volume()
我需要写一个程序,让用户输入一个半径,然后用你的球体类来输出这个球的表面积和体积。但是我遇到了一个类型错误,提示说未绑定的方法 get_Radius() 必须用球体实例作为第一个参数(结果却什么都没有)。有没有办法解决这个问题呢?
2 个回答
0
- 你需要创建一个新的对象,并给它的半径变量赋值。
- 在类里面,你也需要使用 self.redius。
下面的代码可以帮助你理解上面提到的内容。
from math import pi
class sphere(object):
def __init__(self,radius):
self.radius = radius
def get_radius(self):
return self.radius
def surfaceArea(self):
return 4*pi*self.radius**2
def volume(self):
return (4//3)*pi*self.radius**3
radius = input("Please enter your radius:")
s= sphere(radius)
print s.get_radius()
print s.surfaceArea()
print s.volume()
2
你还没有从球体这个类创建一个对象。在你调用 sphere.get_radius() 之前,首先需要从这个类创建一个对象,然后再在这个对象上调用这个方法。
a = sphere(radius) # initiate an object of class sphere called a
a.get_radius() # call method on the object a.