Python Can';我们访问驻留在类中的方法中的变量 class Circle(): pi=3.14 定义初始(自,半径=1): 自半径=半径 def get_circ(自我): circ=2*自半径*圆pi .circ=circ a=圆() b=a.获取循环次数() 打印(b.circ,a.radius)

Python Can';我们访问驻留在类中的方法中的变量 class Circle(): pi=3.14 定义初始(自,半径=1): 自半径=半径 def get_circ(自我): circ=2*自半径*圆pi .circ=circ a=圆() b=a.获取循环次数() 打印(b.circ,a.radius),python,Python,我得到以下错误: AttributeError:“非类型”对象没有属性“circ”b。circ是get_circ(self)函数的私有变量 您需要将circ设置为类属性,以便在函数外部检索它,类似于pi的定义方式。get\u circ需要返回一些内容。如果它返回的内容具有circ属性,则您可以访问它。b是get\u circ的返回值。由于该方法不返回值,b现在是None的默认返回值。出于某种原因,您似乎认为b是Circle的一个实例。中的文本表明您尚未理解类、实例和方法之间的差异。我建议你在课堂

我得到以下错误:


AttributeError:“非类型”对象没有属性“circ”

b。circ是get_circ(self)函数的私有变量


您需要将circ设置为类属性,以便在函数外部检索它,类似于pi的定义方式。

get\u circ
需要返回一些内容。如果它返回的内容具有
circ
属性,则您可以访问它。
b
get\u circ
的返回值。由于该方法不返回值,
b
现在是
None
的默认返回值。出于某种原因,您似乎认为
b
Circle
的一个实例。中的文本表明您尚未理解类、实例和方法之间的差异。我建议你在课堂上重复你的教程,让我明白这一点。我知道你在课堂上的point方法只适用于返回语句,谢谢你的回答,当然要删掉,谢谢你的回答。
class Circle():
    pi = 3.14
    def __init__(self,radius=1):
        self.radius=radius
    def get_circ(self):    
        circ = 2*self.radius*Circle.pi
        <anything like self or Circle or get_circ>.circ = circ

a= Circle()
b=a.get_circ()
print(b.circ, a.radius)