Message99956
| Author |
jackdied |
| Recipients |
Alexander.Belopolsky, Christophe Simonis, belopolsky, ironfroggy, jackdied, r.david.murray, rhettinger, ssadler |
| Date |
2010年02月23日.21:35:43 |
| SpamBayes Score |
6.220112e-08 |
| Marked as misclassified |
No |
| Message-id |
<1266960945.97.0.774737068529.issue4331@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
We talked about it at sprints and the semantics are ambiguous and there are alternatives.
Ambiguous:
def show_funcs(*args): print(args)
class A():
run = partial(1)
ob = A()
ob.run(2,3)
Should this print (self, 1, 2, 3) or (1, self, 2, 3)? And what about
partial(ob.run, 2)(3)
Alternatives: partial is a convenience function not an optimization (it doesn't offer a speedup. So you can write a lambda or named function that has the exact semantics you want without suffering a speed penalty.
So unless there are a lot of good use cases with obvious behavior, we should refuse the temptation to guess and leave partial as-is. |
|