私は単純なデータを格納する単純なクラスを持っています。クラスは以下の通りです。クラスオブジェクトの動的インスタンスが互いに上書きされます
class DataFormater:
def __init__(self, N, P, K, price):
self.N = N
self.P = P
self.K = K
self.price = price
このクラスを呼び出すコード
from DataFormater import DataFormater
#global variables
ObjectList = [0,1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45,46,47,48,49,50]
ObjectListCounter = 0
# main
print "enter you N-P-K values, followed by a coma, then the price"
print "example ----> 5 5 5 %50 "
print "return as many values as you want to sort, then enter, 'done!' when done."
while True:
RawData = raw_input()
if RawData == 'done!':
break
else:
ObjectList[ObjectListCounter] = DataFormater
ObjectList[ObjectListCounter].N = int(RawData[0])
# very simple test way of putting first indice in ObjectList[ObjectListCounter].N
ObjectListCounter += 1
print ObjectList[0].N
print ObjectList[1].N
私の考えはObjectList[0]
は、そのオブジェクトを作成するということである「1」私はこれらを呼び出すときに、私は、1.N
と呼んしかし、できること、以前のインスタンスを上書きしたようです。
これは印刷し何で...
return as many values as you want to sort, then enter, 'done!' when done.
12
1
done!
1
1
本当にありがとうございました!私の投稿が面倒だと分かっていますが、私はそれをもっと「きれいに」する方法を正確にはわかりません。
ObjectList [ObjectListCounter] = DataFormater.N AttributeError:class DataFormaterには属性がありません。 'N''は私に唾を吐くのですか?ここにアイデアはありますか? – Nova
ありがとうございます。それは有り難いです! – Nova
心配する必要はありません。うれしく思います! – MrName