【问题标题】:(Python) How to access/use variable from different method in class? [closed](Python)如何从类中的不同方法访问/使用变量? [关闭]
【发布时间】:2016-11-13 03:57:04
【问题描述】:

这是我的代码

class Circle(object):
    def __init__(self, radius = 1):
        self_radius = radius

    def __str__(self):
        return "Circle with radius {}".format(self_radius)

我从老师的幻灯片上拿了它,它在调用时取一个整数(半径)(例如 a = Circle(25))然后返回 --Circle with radius 25 -- 当我打印它时

问题是当我这样做时,而不是得到它,我得到一个错误,说 self_radius 没有定义(在 str 方法中),所以问题是如何在不同的方法中使用变量比它的起源?

谢谢

【问题讨论】:

  • 这是.,而不是_

标签: python class variables methods


【解决方案1】:

使用self. 而非self_ 限定实例属性:

class Circle(object):
    def __init__(self, radius = 1):
        self.radius = radius

    def __str__(self):
        return "Circle with radius {}".format(self.radius)

如果将变量命名为self_radius,则它成为局部变量;无法从其他方法访问。

【讨论】:

  • 我试过了,它的工作原理!谢谢!
  • 你能解释一下 self.names 是什么类型的变量吗?
  • @IbnuFirdaus,它成为实例变量。阅读有关课程的教程 (docs.python.org/3/tutorial/classes.html) 会有所帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-14
  • 1970-01-01
  • 1970-01-01
  • 2020-06-28
相关资源
最近更新 更多