Should Python raise a warning for mutable default arguments?
Steven D'Aprano
steve at REMOVE-THIS-cybersource.com.au
Fri Aug 22 21:54:00 EDT 2008
On Fri, 22 Aug 2008 14:39:11 -0700, Emile van Sebille wrote:
> Dan wrote:
>> I'd suggest that at the
>> end of the tutorial, when people have a better general idea of how
>> Python works, there would be a Python Gotchas section.
>>
>>
> Hmmm, OK -- mutable defaults, integer division, name mangling...
>
> I'd think decimal precision is more a general problem than a python
> problem, but still one that throws newbies...
>
> Any other ideas for gotcha's (as opposed to faqs)?
Augmented assignment: x ?= y is not always the same as x = x ? y.
Repeated string addition can be very slow. For that matter, so can list
addition.
Inserting at the beginning of lists is slow.
Everything about unicode is a Gotcha! *wink*
Raw strings are not designed for Windows paths, they're designed for
regexes. Consequently, you can't write the following:
r'C:\dir\'
list.sort() and list.reverse() return None.
sorted() returns a list, but reversed() returns an iterator.
urllib2.urlopen() will automatically detect the proxy in your environment
and use that. That's usually a feature, but sometimes it can be a gotcha.
urllib2 doesn't work well with some HTTPS proxies. This is, I believe, a
known bug, but until it is fixed, it can be a gotcha.
--
Steven
More information about the Python-list
mailing list