は私のプログラムです:ループ内のオブジェクトが同じになるのはなぜですか?
いくつかのクラス:
私はJSONからいくつかのデータを読み取ろうたよりclass Employee (object):
@classmethod
def __init__(self, id, name, password):
self.id = id
self.name = name
self.password = password
@classmethod
def toString(self):
return(self.id + ": " + self.name + " " + self.password)
:私は何の問題もなく、時にすることなく、データを読み取ることができ
import os
import json
if os.name == 'nt':
path = r'Storage\employee.json'
else:
path = r'Storage/employee.json'
from employee import Employee
if __name__ == '__main__':
with open(path, 'r') as file:
json_list = json.loads(file.read())
list = [Employee(item['id'], item['name'], item['password']) for item in json_list]
for elemt in list:
print (elemt.toString())
Iそれを持つ従業員のリストを作成しようとします。リストは最後のオブジェクトの繰り返しになります。
すべてのメソッドに 'classmethod'を置くのをやめてください。それはあなたが何を意味すると思うかを意味するものではありません。 – user2357112
'__init__'は**ではない' @ classmethod'であり、 'toString'(これはクラスメイトではありません)ではおそらく' __str__'を意味します。 – alfasin
この場合、どちらも 'toString()'ではありません。 –