pythoninit设置类属性_在python中如何设置类的属性列表值

这篇博客讨论了Python中类的正确继承方式,强调了类名使用CamelCase的规范,并展示了如何初始化DistanceNeighbor类和Crime类。文章通过实例解释了如何处理数据,特别是如何在循环中创建Crime对象的列表,避免了错误和不必要的内存操作。
摘要由CSDN通过智能技术生成

这应该更接近您想要的:class Crime(object):

def __init__(self, id_jenis, jenis):

self.id_jenis=id_jenis

self.jenis=jenis

class DistanceNeighbor(object):

def __init__(self, distance, crimes):

self.distance = distance

self.crimes = crimes

data_distance = []

for id_objek1, objek1, id_objek2, objek2, distance in cur.fetchall():

crimes = [Crime(id_objek1,objek1), Crime(id_objek2,objek2)]

data_distance.append(DistanceNeighbor(distance, crimes))

python2中的类应该始终从object继承。按照惯例,类名使用CamelCase。在

{{cd2}的继承似乎是不必要的。我改了这个。在

实例的属性应该是小写的,因此我使用了crimes,而不是重用类名Crime。在

这条线:

^{pr2}$

将Crime实例列表作为单独的参数分开。

在您的例子中,这意味着__init__接收到:distance, data_Crime[0], data_Crime[0]

此错误导致:TypeError: init() takes exactly 2 arguments (3 given)

Crime的实例化非常短。因此,您可以在一行中创建两个Crime实例的列表,而不是两个appends:crimes = [Crime(id_objek1,objek1), Crime(id_objek2,objek2)]

因为这会在每个循环中创建一个新列表,所以不需要像处理del data_Crime[:]那样删除每个循环中的列表内容。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值