我正在构建一种编程语言,需要帮助 我在varObject.py上有第一个代码段,在lexer.py上有第二个代码段:
varObject.py
class VariableObject(object):
def __init__(self):
type(self).variables = {}
def set_variable(self, name, value):
self.variables[name] = value
lexer.py
from varObject import VariableObject
class Lexer(object):
def __init__(self, source_code):
self.source_code = source_code
def tokenize(self):
varsdb = VariableObject()
varsdb.set_variable("x", 5)
print(varsdb.variables)
预期输出为{"x": 5}
,但实际输出为{}
。
答案 0 :(得分:2)
https://docs.python.org/2/tutorial/classes.html#class-objects
我觉得您在这里缺少了代码的一些关键部分,但是您只需要在类的范围内声明一个变量。查看链接上的示例。希望这会有所帮助