我有一个存储简单数据的简单类。课程如下。你知道吗
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.N
调用的对象“1”
但是,当我调用这些时,似乎覆盖了前面的实例。你知道吗
这就是指纹。。。你知道吗
return as many values as you want to sort, then enter, 'done!' when done.
12
1
done!
1
1
非常感谢!我知道我的帖子很乱,我不知道如何让它更“漂亮”
因此,看起来您正在循环中分配实际的类(而不是类的实例)。在这里您可以这样做:
我想你真正想要的是这个
编辑以处理评论:
类初始化方法如下所示:
这意味着要创建类的实例,它将如下所示:
然后就可以访问值为
1
的my_formater.N
。你知道吗您要做的是访问类级属性
DataFormater.N
。这通常用于在类实例之间具有不变变量的情况。例如:然后就可以直接从类中访问该变量,如下所示:
我希望这能把事情弄清楚。你知道吗
相关问题 更多 >
编程相关推荐