
This idea has come up before. While I can see the use of it, to me at least that use doesn't feel nearly common enough to warrant dedicated syntax. In many cases, it is a "truthy" value you are looking for rather than `is not None` specifically. That has a convenient spelling: expr or instead If it really is the actual None-ness you are curious about, you need the slightly longer: expr if expr is not None else instead Your example seems to want to fall back to a statement suite rather than a value. To do that, you'd have to put the suite inside a function such as: def Raise(err): raise err And use it something like: self.totalsizeof or Raise(SizeofError(...)) On Fri, Sep 9, 2016 at 1:01 PM, Arek Bulski <arek.bulski@gmail.com> wrote:
Sometimes I find myself in need of this nice operator that I used back in the days when I was programming in .NET, essentially an expression
expr ?? instead
should return expr when it `is not None` and `instead` otherwise.
A piece of code that I just wrote, you can see a use case:
def _sizeof(self, context): if self.totalsizeof is not None: return self.totalsizeof else: raise SizeofError("cannot calculate size")
With the oprator it would just be
def _sizeof(self, context): return self.totalsizeof ?? raise SizeofError("cannot calculate size")
pozdrawiam, Arkadiusz Bulski
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/
-- Keeping medicines from the bloodstreams of the sick; food from the bellies of the hungry; books from the hands of the uneducated; technology from the underdeveloped; and putting advocates of freedom in prisons. Intellectual property is to the 21st century what the slave trade was to the 16th.