在Python中实例化类时出现名称错误

时间:2015-07-28 12:16:30

标签: python class instance nameerror

好的,所以我尝试在Python中创建一个类,使用以下代码将参数分配给元素周期表的元素:

class Element:
    def __init__(self, Symbol, Name, Number, Row, Column):
        self.Symbol = Symbol
        self.Name = Name
        self.Number = Number
        self.Row = Row
        self.Column = Column

但是,在尝试创建类的实例时,

H = Element(H, hydrogen, 1, 1, 1)

我收到错误消息

NameError: name 'H' is not defined

我怀疑我错误地使用__init__,如果错误,怎么会纠正错误?谢谢你的阅读。

1 个答案:

答案 0 :(得分:3)

您要求Python将名为Hhydrogen的两个变量的值传递到Element构造函数中:

Element(H, hydrogen, 1, 1, 1)
#       ^  ^^^^^^^^

未定义这些变量。你的意思是传递字符串吗?如果是这样,请使用字符串文字语法(引号):

H = Element('H', 'hydrogen', 1, 1, 1)

您对__init__的使用不是很好。抛出异常的回溯否则会显示该方法实际被调用,而不是指向调用Element()的行。