Python中的简单类

-1 投票
2 回答
828 浏览
提问于 2025-04-29 09:38
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.

撰写回答