Just as a note, python does have one issue that has been confusing me. basically it always passes by reference, except when it doesn't
From what I gather it passes everything more complex than simple values by reference, whether they be arrays, objects, or even methods (yep, quite nifty).
And now that I mentioned it, say you have a method called idontwanttoforgetthatthismethodisveryveryimportant
Well, thats a real pain to keep typing, so instead of copy and paste, here's another way to handle it:
Code:
i = idontwanttoforgetthatthismethodisveryveryimportant
print i(whatever,arguments)
You can assign variables to methods, or alias if you will, because even methods are considered objects
Python also has true OO, by following rules concerning inheritance, constructors, deconstructors, etc.
It also has the nifty ability of being able to tell you what funcions it has inside the code:
Code:
import time
print dir(time) #prints out all of the methods in the time module
Also, correction to above, there is a del function to remove an item from a list yb it's index.
Want default values? Python allows it.
Want a stack or queue? Python has a pop and append method that allows you to use a list as a stack or queue.
Multililine strings are easy to write:
Code:
print """this is on one line
this is on the next line"""
And of course, who could forget error handling:
Code:
try:
f = open(arg, 'r')
except IOError:
print 'cannot open', arg
else:
print arg, 'has', len(f.readlines()), 'lines'
f.close()
Not to mention you can easily override the std error object to create your own customizeable errors
Have I mentioned I love this langugae

-Tarwn
01000111 01101111 01110100 00100000 01000011 01101111 01100110 01100110 01100101 01100101 00111111
The never-completed website