In <[EMAIL PROTECTED]>, Jamie J. Begin wrote: > Let's say I wanted to create an object that simply outputted something > like this: > >>>> import employees >>>> person = employee("joe") # Get Joe's employment file >>>> print employee.Title # What does Joe do? > Developer >>>> print person.Address.City # Which city does Joe live in? > Detroit >>>> print person.Address.State # Which state? > Michigan > > To do this would I create nested "Address" class within the "employee" > class? Would it make more sense to just use "print > person.Address('City')" instead?
That depends on the usage of the addresses. If you need them as objects with "behavior" i.e. methods then you would write an `Address` class. If you can live with something more simple than a `dict` as `address` attribute of `Employee` objects might be enough. BTW you wouldn't create a nested `Address` *class*, but hold a reference to an `Address` *object* within the `Employee` *object*. class Address(object): def __init__(self, city, state): self.city = city self.state = state class Employee(object): def __init__(self, name, title, address): self.name = name self.title = title self.address = address employees = { 'Joe': Employee('Joe', 'Developer', Address('Detroit', 'Michigan')) } def employee(name): return employees[name] def main(): person = employee('Joe') print person.title print person.address.city print person.address.state Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list