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.bul...@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.
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/