Mastering Python
paul
paul at subsignal.org
Fri Mar 16 10:51:32 EDT 2007
Paul McGuire schrieb:
> What does Python have that C++ doesn't?
> - The biggie: dynamic typing (sometimes called "duck typing").
> Dynamic typing is a huge simplifier for development:
> . no variable declarations
> . no method type signatures
> . no interface definitions needed
> . no templating for collections
> . no method overloading by differing argument type signatures
> ("Imagine there's no data types - I wonder if you can..."). What? No
> static type-checking at compile time? Nope, not really. If your
> method expects an object of type X, use it like an X. If it's not an
> X, you may be surprised how often this is not a problem.
But sometimes it is ;) Typical example: input and CGI/whatever. If one
element is checked you'll get a string, if you select multiple (i.e.
checkboxes) you'll get a list. Both support iteration
Now if you iterate over the result:
case 1, input -> "value1":
for elem in input:
#in real life we might validate here...
print elem
-> 'v' 'a' 'l' 'u' 'e' '1'
case 2, input -> ["value1", "value2"]
for elem in input:
print elem
-> "value1" "value2"
cheers
Paul
Disclaimer: I like python and I write tests but i wish unittest had
class/module level setUp()...
More information about the Python-list
mailing list