首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python 3.6.3 (面向对象)

python 3.6.3 (面向对象)
EN

Stack Overflow用户
提问于 2017-12-14 17:08:14
回答 1查看 59关注 0票数 0
代码语言:javascript
运行
复制
import math
class Circle():
    def __init__(self,radius,centre):
        self.radius=radius
        self.centre=centre

    def circumference():
        return 2.0*math.pi*self.radius 


c1 = Circle(1.0, (0.5 , 1.0))
c2 = Circle(1.5, (-0.5 , 2.0))

print(c1.radius)
print(c2.radius)
print(c1.circumference)
print(c2.circumference)

输出:

代码语言:javascript
运行
复制
1.0
1.5
<bound method Circle.circumference of <__main__.Circle object at 0x7facb18214a8>>

这个错误是什么意思?

EN

回答 1

Stack Overflow用户

发布于 2017-12-14 17:12:53

可能是你忘了在circumference之后加大括号了。由于circumferenceClass Circle的一个方法,您需要将其称为circumference()。此外,您还需要在方法/函数circumference中传递self,以访问circumference中的radius (在__init__中定义

代码语言:javascript
运行
复制
import math
class Circle():
    def __init__(self,radius,centre):
        self.radius=radius
        self.centre=centre

    def circumference(self):
        return 2.0*math.pi*self.radius 


c1 = Circle(1.0, (0.5 , 1.0))
c2 = Circle(1.5, (-0.5 , 2.0))

print(c1.radius)
print(c2.radius)
print(c1.circumference())
print(c2.circumference())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47809573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档