Pythonic style

Steven D'Aprano steve at pearwood.info
Fri Apr 29 05:59:11 EDT 2016


On 2016年4月29日 10:48 am, Gregory Ewing wrote:
> MRAB wrote:
>>> Is it worthy of being in the Zen of Python?
>> +1. Maybe something along the lines of:
>> Dunder methods are for defining, not calling.
> Unless you're a dunderhead[1].
>> [1] Meant in the sense of an enthusiast, cf. gearhead.

I think that the advice to not call dundermethods directly is excellent
advice, but it doesn't belong in the Zen. Look at the Zen: it's all pretty
abstract:
Beautiful is better than ugly.
Explicit is better than implicit.
etc. There's very little[1] concrete advice in the way of specificities such
as:
- don't use floats for money;
- use namedtuple for the equivalent of a C struct or Pascal record;
- composition should be preferred over inheritance;
etc. "Don't use dunders" is much closer to the second, more specific type of
advice which doesn't really fall into the Zen's bailiwick.
Better suited for the Zen would be:
"Not everything needs to be a one-liner."
which is nicely abstract and also completely useless for deciding which
things should and shouldn't be, as good koans ought to be.
[1] By which I mean none.
-- 
Steven


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /