[Python-Dev] ACCEPTED: PEP 285 (original) (raw)
Christian Tanzer tanzer@swing.co.at
Thu, 04 Apr 2002 09:04:09 +0200
- Previous message: [Python-Dev] ACCEPTED: PEP 285
- Next message: [Python-Dev] ACCEPTED: PEP 285
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
David Ascher <DavidA@ActiveState.com> wrote:
> Despite the negative feedback, I've decided to accept the PEP. The > most important perceived problem is that newbies tend to write > > if x =3D=3D True: ... > > where they should write > > if x: ... > > I believe this problem should be solved by education (the Zen master > hits the student on the head with a stick, and the student gets > enlightenment) rather than by holding back what I believe will be a > useful feature.
Would it not be "relatively" easy to add a compiler-time warning for most uses of this dangerous idiom? At the very least, the boolean type could do the equivalent of: def eq(self, other): if debug and other not in (0,1,True,False): warnings.warn("Testing of equality is best done by asking objects whether they're true, not comparing with a boolean", RunTimeWarning) return int.eq(self, other) or something similar?
I warning about x =3D=3D True
wouldn't hurt. But your proposed __eq__
=
certainly would -- don't do that please.
Equality testing is useful if one wants to check whether two predicates have the same boolean value.
-- =
Christian Tanzer tanzer@swing.co.= at Glasauergasse 32 Tel: +43 1 876 62 = 36 A-1130 Vienna, Austria Fax: +43 1 877 66 = 92
- Previous message: [Python-Dev] ACCEPTED: PEP 285
- Next message: [Python-Dev] ACCEPTED: PEP 285
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]