0
我有下面的代码Python中添加对象的for循环
old_county_code = -1
old_placement_id = -1
placements = []
for row in raw_data: #raw_data is one line from the database retrieved by cursor.fetchall()
placement_id = row[1]
if placement_id != old_placement_id:
placement = Objects.placement()
placement.placement_id = placement_id
placements.append(placement)
country_code = row[3]
if old_county_code != country_code:
country = Objects.country()
country.country_id = country_code
placement.countries.append(country)
creative = Objects.creative(row[2], row[0], row[4], row[5], row[6], row[7])
country.creatives.append(creative)
old_placement_id = placement_id
old_county_code = country_code
对象配置包含本身包含广告的列表国家名单。因此,当我运行此代码时,我注意到每个展示位置都包含与列表对象placement.countries中包含的国家对象完全相同的数量。事实上,情况并非如此。我认为我在代码中做了一些错误,但我不知道是什么。
这是对象的代码
class placement(object):
placement_id = 0
countries = []
class country(object):
country_id = 0
creatives = []
class creative(object):
creative_id = 0
matching_id = 0
clicks = 0
impressions = 0
ctr = 0.0
rank = 0.0
不知道你的努力从您的文章做......做一个小例子(非常小),并显示所有输入和所有输出然后把你的预期输出 –
另请参见[这个问题](http://stackoverflow.com/questions/8860447/why-does-python-seem-to-treat -instance变量-作为共享对象之间-)。这是一个“类与实例”变量问题。 – DSM
http://sscce.org/ – Marcin