[Python-ideas] Combining test and assignment
alex23
wuwei23 at gmail.com
Tue Jan 24 08:33:16 CET 2012
On Jan 22, 2:18 pm, Eike Hein <s... at eikehein.com> wrote:
> Can anyone think of another way to do an assignment
> and a truth test in the same expression with today's
> tools?
I've seen something similar to this used before:
class Holder(object):
def __call__(self, value):
self.value = value
return self
def __eq__(self, val):
return self.value == val
__req__ = __eq__
from random import choice
some_func = lambda: choice(['a','b','c'])
holder = Holder()
if holder(some_func()) == 'a':
print 'A'
elif holder == 'b':
print 'B'
elif holder == 'c':
print 'C'
As you can see, it still requires a value to be defined before the
conditional, though :)
More information about the Python-ideas
mailing list