So, I forgot the last part of my example that might gel in your mind why Objects are useful in certain situations. Ok so you maybe followed my example of the shopping cart. Let's just forget for a moment the use for shopping carts is for websites. Let's just say you were going to write the lines directly into Python, like maybe at the IDLE interpreter. Like maybe you're testing the functionality of the routine for correctness, not actual implementation.
You have a ShoppingCartClass(), and three users-> Dave, Tommy, Bryan. ShoppngCartClass() has 3 methods: .AddItem() .RemoveItem() .CheckOut() These are really just 'def' routintes you write in the class to do some action or calculation. Here, we want to either add an item to 'the cart', remove one, or finalize the order. In the interpreter, you could do this. Define 3 users of the ShoppingCartClass. Dave = ShoppingCartClass() Tommy = ShoppingCartClass() Bryan = ShoppingCartClass() Ok. Now you could do different things to each: Dave.AddItem(sku=5) Tommy.AddItem(sku=77) Tommy.AddItem(sku=12) Tommy.RemoveItem(sku=12) Dave.CheckOut(state=CT, ccard='visa', ccardnum='1234-5678-8765-431') Tommy.CheckOut(stsate=RI, ccard='mastercard', ccardnum='431-123-4321-1234') Bryan.CancelOrder() so, if you were then to take account of what you had, you'd know: Dave has item SKU=5 Tommy has item SKU=77 Bryan has his order cancelled. This is still very hard-coded. You could abstract, or maybe variablize, things more. Let's try: You can mix classes with say dictionaries, to make their use in routines more beneficial. So, you could have: user = âDaveâ ShoppingCart={} ShoppingCart[user] = ShoppingCartClass() user = âTommyâ ShoppingCart[user] = ShoppingCartClass() user = âDaveâ ShoppingCart[user].AddItem(sku=55) user = âTommyâ ShoppingCart[user].CheckOut( ... ) ShoppingCart[âDaveâ].CheckOut( ... ) Putting the classes in the dictionary allow you to use names from things like fields, config files, text files, TextControls in my favorite program wxPython, etc. If you can wrap your mind around this, you're well on your way to using OOP I believe. If not, , don't give up. I'm just a python/programming newbie and maybe missed the boat completely with my posting. -Dave -- http://mail.python.org/mailman/listinfo/python-list