私はFileHandler
クラスのインスタンスを使ってPythonでスクリプトをプログラミングしていますが、2番目は同じであっても、変数に代入されることなく、最初に上書きされます。このクラスのインスタンスが上書きされるのはなぜですか?
クラス:
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
クラスメソッドの使用を停止する –