首页 > 解决方案 > 我们不能访问驻留在类中的方法中的变量吗

问题描述

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)

我收到以下错误:

AttributeError:“NoneType”对象没有属性“circ”

标签: python

解决方案


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

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


推荐阅读