Message194937
> Why? I've never encountered this recommendation before. x.__float__() > would be clearer, IMO.
Hmm; it would be better if I engaged by brain before commenting. I guess the point is that type(x).__float__(x) better matches the behaviour of the builtin float:
>>> class A:
... def __float__(self): return 42.0
...
>>> a = A()
>>> a.__float__ = lambda: 1729.0
>>>
>>> float(a)
42.0
>>> a.__float__()
1729.0
>>> type(a).__float__(a)
42.0
When you get around to tests, it would be nice to have a test for this behaviour, just so that someone who comes along and wonders the code is written this way gets an immediate test failure when they try to incorrectly "simplify" it. |
|
Date |
User |
Action |
Args |
2013-08-12 10:53:17 | mark.dickinson | set | recipients:
+ mark.dickinson, gregory.p.smith, ronaldoussoren, belopolsky, pitrou, agthorr, christian.heimes, stutzbach, steven.daprano, sjt, tshepang, oscarbenjamin, vajrasky |
2013-08-12 10:53:17 | mark.dickinson | set | messageid: <1376304797.89.0.80372483375.issue18606@psf.upfronthosting.co.za> |
2013-08-12 10:53:17 | mark.dickinson | link | issue18606 messages |
2013-08-12 10:53:17 | mark.dickinson | create | |
|