我第一次使用Python中的类,并且需要在特定条件下遍历我的类属性并删除某些实例。问题是我找不到任何删除特定属性实例的例子。为了更具体一些,我的课程是phone_bills
,我的一个属性是minutes_used
,实例将使用特定月份的分钟数。那么,有时我需要删除那一个月或一个实例。删除类属性的某些实例
我开始怀疑在这个特定的项目中使用类是否是错误的。
下面是我的一些代码(在这里我把课,然后在底部在那里我尝试deltete一个实例。
class MeterBill:
'components of MeterBill'
def __init__(self,IDC,Name,StartD,End_D,Mdays,Cons): #Name,StartD,End_D,Mdays,Cons):
self.IDC = IDC #idc
self.Name= Name #name
self.StartD = StartD #startd
self.End_D = End_D #end_d
self.Mdays = Mdays #modays
self.Cons = Cons #cons
def __repr__(self):
return repr((self.IDC,self.Name,self.StartD,self.End_D,self.Mdays,self.Cons))
#there is some other code here to read in the data then
e=len(bills); startlen=e;s=0
row=0; daysthresh=38; count=0
while count < startlen:
for row in range(s,e):
count = 1+ count
if bills[row-1].Mdays < daysthresh and bills[row-1].IDC==bills[row].IDC:
print bills[row-1],#row-1,meter[row-1]
bills[row].Mdays = bills[row-1].Mdays+bills[row].Mdays
bills[row].Cons = bills[row-1].Cons+bills[row].Cons
bills[row].StartD=bills[row-1].StartD
#del mybills.minutes_used
#bills=MeterBill()
del bills[row-1].Cons
最后3行是我想delte我的类的实例在第一行(使用来自Peter Downs post的代码),我想删除这一行,我想删除我定义的每个属性的单个实例 所以如果我能得到那个del bill [row-1]。因此我会为第一行的所有其他属性做这件事
请注意,您必须滚动到右侧才能看到我的if语句
如果“minutes_used> xyzzy”您想要删除类还是清除属性? – AlG 2011-12-22 13:00:20
使用类永远不会错。然而,你对班级的假设似乎是错误的。 “删除属性”没有明智的理由。请提供一些代码来解释你认为你在做什么。 – 2011-12-22 13:06:38
_删除某些instances_,_删除某些属性的实例_,_删除一个月或一个实例_ ......究竟是什么,你想删除? – juliomalegria 2011-12-22 13:52:59