我当时在玩类,我想创建一个名为Container的类,该类旨在将可以容纳其他物品的所有物品组合在一起。

# -*- coding: utf-8 -*-

class Container(object):
    def __init__(self, name, volume):
        self.name = name
        self.max_volume = volume

hands = Container('HANDS', 2)


我从这一点开始,然后我想测试一切是否正常,但是如果在python控制台中我调用hands.name,则表示未定义hands。当我也将其导入为模块时,就会发生这种情况。

我不明白我的错!您能给我解释一下如何使其工作吗?

我从python控制台获得:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'hands' is not defined

最佳答案

假设这是container.py文件:

# -*- coding: utf-8 -*-

class Container(object):
    def __init__(self, name, volume):
        self.name = name
        self.max_volume = volume

hands = Container('HANDS', 2)


这是您在解释器中的执行命令:

>>> import container


然后,可以通过以下方式访问hands实例:

>>> container.hands.name


为了避免使用container前缀,您还可以执行以下操作:

>>> from container import hands
>>> hands.name

关于python - Python NameError名称的类未定义,但实际上是,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30562669/

10-12 17:48
查看更多