我正在用Python編寫一個腳本,使用FileHandler
類的實例,但第二個會覆蓋第一個,即使沒有被分配到相同的變量。爲什麼這個類的實例被覆蓋?
類:
class FileHandler():
name = None
path = None
@classmethod
def __init__(self,name,path):
self.name=name
self.path=path
@classmethod
def getName(self):
return self.name
@classmethod
def getPath(self):
return self.path
腳本:
import fileHandler
origen=fileHandler.FileHandler('a','b')
destino=fileHandler.FileHandler('c','d')
print origen.getName(),origen.getPath()
print destino.getName(),destino.getPath()
結果:
c d
c d
因爲你使他們成爲了階級的方法,那麼自我真的就是階級。所有實例然後共享這些值。只是使用常規方法 – pvg
@Marco您認爲'@ classmethod'的作用是什麼?您認爲什麼是類方法? – Wombatz
停止使用classmethod –