Double underscores -- ugly?
bignose+hates-spam at benfinney.id.au
Tue Feb 19 00:39:10 CET 2008
benhoyt <benhoyt at gmail.com> writes:
> I realise that double underscores make the language conceptually
> cleaner in many ways (because fancy syntax and operator overloading
> are just handled by methods), but they don't *look* nice.
That's a good thing, in that it draws attention to the names. The
convention is by design: these names will be treated specially, so
they should stand out visually to the reader.
> A solution could be as simple as syntactic sugar that converted to
> double underscores behind the scenes. A couple of ideas that come to
> my mind (though these have their problems too):
> def ~init(self): # shows it's special, but too like a C++ destructor
> def +init(self): # a bit too additive :-)
> defop add(self, other): # or this, equivalent to "def __add__"
> def operator add(self, other): # new keyword, and a bit wordy
None of these, IMO, meet the "needs to stand out" requirement met by
They also introduce special cases for the language parser (and thus
for the reader to understand how the language will be parsed), whereas
double-underscore names work without any special syntax handling.
\ “Holy contributing to the delinquency of minors, Batman!” |
`\ —Robin |
More information about the Python-list