嘿我是一个python新手,我试图在类的构造函数中设置一个dict,但每当我尝试访问一个元素时,它返回None。这是我的代码
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']时,它都会返回None。
答案 0 :(得分:1)
您可以发布示例代码吗?
我问这个是因为我不确定你要做什么。 <instance>.pre_defined_macros['_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'
>>>
我还尝试从其他方法访问pre_defined_macros
。像这样:
>>> 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'
>>>
答案 1 :(得分:0)
Aah ......知道了!
其实我已经设置了
self.title = None
所以在创建词典时
'_TITLE': self.title
“_TITLE”
的值无缺乏专注力!!