Ikon a écrit :
I'm rather new to Python. I have PHP for my main language and I do some Java. They all have a very strict OO schema.
I would describe PHP's "OO schema" as "very strict" (FWIW, I wouldn't qualify anything PHP as "strict" in any way...)
As I red through Python's tutorial it seams it has nothing of those rules. No statical, abstract classes, functions, or variables.
Why so ?
I wish someone, who has experience in both Java/PHP/C# and Python would tell me how mush better/worse is it to program in a language that misses most of the OO parts!
Where did you read that these were "most of the OO parts" ? All those dumb qualifiers are C++/Java's very peculiar (mis)understanding of OO. All you need to do proper OO are objects (defined by a unique id, a state and a behaviour) and messages.
As far as I'm concerned, what I don't understand is how one can do OO in a language that has non-object "objects" (ie: primitive types etc).
Anyway... Python's object model is indeed quite different from what you've "learned" with Java and PHP, and you'll have to first unlearn most of what you think you know about OO. OTHO, once you do understand Python's object model and it's incredible flexibility and power, you won't want to hear about Java anymore. Not to say Python is the "more pure" OOPL ever (if that's what you're after, Smalltalk is your friend - but it's not really used that much nowadays...), it's firstly a very *practical* language, but still it's OO all the way down (everything - including functions and classes and modules - is an object), and it really makes OO easy and usefull.
My 2 cents... -- http://mail.python.org/mailman/listinfo/python-list