首页 > 解决方案 > AttributeError:“Cal”对象没有属性“area”

问题描述

class Cal(object):
    pi = 3.142

    def __init__(self, radius):
        self.radius = radius

        def area():
            return self.pi * (self.radius**2)


a = Cal(32)
a. area()

当我运行==== Traceback(最近一次调用最后一次)时出现错误:文件“K:/Py Projects/mini/prac.py”,第 12 行,在 a 中。area(32) AttributeError: 'Cal' 对象没有属性 'area'

标签: pythonpython-3.xmain

解决方案


您在初始化程序 ( ) 函数中定义了该area()函数,这使其成为该范围内的本地函数,而不是.__init__()Cal

放在外面。

编辑:您还需要添加selfarea().


推荐阅读