[Python-ideas] Python Isn't Perfect: adding a 'gotchas' section to the tutorial
Ned Batchelder
ned at nedbatchelder.com
Sat Dec 10 19:34:15 CET 2011
On 12/10/2011 9:16 AM, Richard Prosser wrote:
> Although I love Python there are some aspects of the language design
> which are disappointing and which can even lead to problems in some cases.
>
> A classic example is a mutable default argument having the potential
> to produce unexpected side-effects, as a consequence of the
> non-intuitive scoping rules.
>
> Another awkward 'feature' is the requirement for a trailing comma in
> singleton tuples, due I believe to the use of expression parentheses
> rather than (say) the use of special brackets like chevrons.
>
> Something that I personally wish for is the ability to declare
> variable types 'up front' but that facility is missing from Python.
>
One of these things is not like the others. Mutable default arguments,
and singleton tuples are surprises that make sense once you understand
things on a deeper level. It makes sense to call them out as a
"gotcha": a common stumbling block for learners. But "no type
declarations" is not a wart, it's a fundamental feature of the language
that is immediately apparent from the first lesson.
--Ned.
More information about the Python-ideas
mailing list