python – 删除类属性的某些实例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 删除类属性的某些实例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2194字,纯文字阅读大概需要4分钟。
内容图文
![python – 删除类属性的某些实例](/upload/InfoBanner/zyjiaocheng/731/49baad42ad2740989c8c82662613b240.jpg)
我是第一次使用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行是我试图在第1行删除我的类的实例(使用Peter Downs帖子中的代码).我想删除这一行.我想删除我定义的每个属性的1个单个实例.
所以,如果我可以让del bill [row-1] .cons工作,那么我会为第1行的所有其他属性执行此操作.
请注意,您必须向右滚动才能看到我的if语句.
解决方法:
I am starting to wonder if working with classes is wrong for this
particular project.
我相信他们可能没必要.
而不是一个类,尝试使用字典.
您可以编写一个辅助函数来填充它们,并且从字典中删除密钥非常容易.
使用类的唯一原因是你需要实例方法 – 是真的吗?
然后,您可以将它们重写为常规函数.
def createPhoneBill(minutes_used):
return {
"minutes_used":minutes_used,
# you could put more attributes here, just add them as arguments to the function
}
作为额外的奖励,默认值更容易.此外,您现在也可以使用dictionary.get(attr_name,default_value)函数.
这是删除的样子:
删除属性:
mybills = createPhoneBill(5000):
if mybills["minutes_used"] > 2000:
del mybills["minutes_used"]
删除“实例”:
mybills = createPhoneBill(5000):
if mybills["minutes_used"] > 3000:
del mybills
内容总结
以上是互联网集市为您收集整理的python – 删除类属性的某些实例全部内容,希望文章能够帮你解决python – 删除类属性的某些实例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。