下面給出的是一個類的一個片段,其中我試圖創建對象和獲取錯誤:爲什麼我無法在我班的__init__中執行簡單的操作?
class FoF(object):
def __init__(self,path):
filepath=[]
filepath.append(self.FileOrFolder(path))
在執行了,我得到以下錯誤:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "PathOps.py", line 6, in __init__
def __init__(self,path):
NameError: global name 'filepath' is not defined
後,我嘗試:
filepath=[]
class FoF(object):
def __init__(self,path):
global filepath.append(self.FileOrFolder(path))
並再次:
File "<stdin>", line 1, in <module>
File "PathOps.py", line 6, in __init__
global filepath.append(self.FileOrFolder(path))
NameError: global name 'filepath' is not defined
什麼是導致錯誤,我該如何解決它?
該代碼不會產生該錯誤,因此我們需要查看更多上下文。唯一可以說的是,你發佈的內容是:1.全局聲明是不必要的,2.你可能意思是'self.filepath' – Julian 2012-07-27 20:15:08
是self.filepath修復它。但是,這意味着每當我創建一個對象,該對象的文件路徑變爲空。我需要一個使用它的對象持久化的文件路徑。 – ritratt 2012-07-27 20:19:33
然後你想要[class屬性](http://docs.python.org/tutorial/classes.html#class-objects) – Julian 2012-07-27 20:24:38