在构造函数中设置dict(python)
嘿,我是python新手,我正在尝试在类的构造函数中设置dict。然而,每当我尝试访问元素时,它都不会返回任何结果。这是我的密码在构造函数中设置dict(python),python,class,dictionary,constructor,Python,Class,Dictionary,Constructor,嘿,我是python新手,我正在尝试在类的构造函数中设置dict。然而,每当我尝试访问元素时,它都不会返回任何结果。这是我的密码 class GoogleApp: def __init__(self, path): self.name = "Google App" self.description = "Creates an new google app project." self.title = None self.path = path sel
class GoogleApp:
def __init__(self, path):
self.name = "Google App"
self.description = "Creates an new google app project."
self.title = None
self.path = path
self.pre_defined_macros = {
'_NAME': self.name ,
'_DESCRIPTION': self.description,
'_TITLE': "Shoutout",
'_BASE_PATH': self.path,
'_PATH': lambda: os.path.join(self.path, self.title)
}
现在,每当我尝试从其他方法访问self.pre_defined_macros[''TITLE']时,它都不会返回任何值。您能发布示例代码吗 我问这个是因为我不知道你想做什么<代码>预定义的宏[''u TITLE']在我测试时运行良好
>>> class GoogleApp:
def __init__(self, path):
self.name = "Google App"
self.description = "Creates an new google app project."
self.title = None
self.path = path
self.pre_defined_macros = {
'_NAME': self.name ,
'_DESCRIPTION': self.description,
'_TITLE': "Shoutout",
'_BASE_PATH': self.path,
'_PATH': lambda: os.path.join(self.path, self.title)
}
>>> f = GoogleApp('foo')
>>> f.pre_defined_macros['_TITLE']
'Shoutout'
>>>
我还尝试从另一种方法访问预定义的\u宏。像这样:
>>> class GoogleApp:
def __init__(self, path):
# Your original code here.
def get_title(self):
return self.pre_defined_macros['_TITLE']
>>> f = GoogleApp('foo')
>>> f.get_title()
'Shoutout'
>>>
啊。。。明白了
实际上我已经准备好了
self.title = None
所以在创建字典的时候
'_TITLE': self.title
“无”是“\u TITLE”的值
注意力不集中 下划线表示私有变量。当您在没有下划线的情况下给出时会发生什么。@ignacio,yes是正确的。我太困了,无法回答。对不起!实际上“_TITLE”:“shoutoot”对不起!事实上,“\u TITLE”:“Shoutout”起作用,但是当“\u TITLE”=self.TITLE时,它不返回任何值,就像我在“\u DESCRIPTION”和“\u NAME”上遇到同样的问题一样