In <ma***************************************@python. org>, 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