crimes in Python
Martin von Loewis
loewis at informatik.hu-berlin.de
Wed Mar 8 07:17:36 EST 2000
kragen at dnaco.net (Kragen Sitaker) writes:
> class Victim:
> def __init__(self, crime, type, crimeno, age, sex, race):
> self.crime = crime
> self.type = type
> self.crimeno = crimeno
> self.age = age
> self.sex = sex
> self.race = race
> self.suspects = []
If your typical way to process all those fields is a 6-tuple, then it
may be more convenient to store it as a 6-tuple, and allow by-name
access via methods:
class Victim:
def __init__(self,fields);
if len(fields)!=6: raise TypeError('fields come in sixpacks')
self.fields = fields
self.suspects = []
def crime(self): return self.fields[0]
...
> victim = Victim(
> crime = fields[0],
> type = fields[1],
> age = fields[3],
> sex = fields[4],
> race = fields[5],
> crimeno = fields[6])
Then you'd just write
victim = Victim(fields)
> sys.stdout.write(join (
> (victim.crimeno,
> victim.crime,
> victim.type,
> victim.age,
> victim.sex,
> victim.race),
> "\t"))
Here, it would be
sys.stdout.write(join(victim.fields, '\t'))
I just noticed you have a different order here, so you'd probably use
the accessors here.
Regards,
Martin
More information about the Python-list
mailing list