Skip to content

Instantly share code, notes, and snippets.

@bmwalters
Created November 14, 2015 03:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bmwalters/b65934692ec7292d59ad to your computer and use it in GitHub Desktop.
Save bmwalters/b65934692ec7292d59ad to your computer and use it in GitHub Desktop.
Object that acts like a boolean, but may be True or False
import random
class _Maybe(object):
def __nonzero__(self):
return bool(random.getrandbits(1))
def __repr__(self):
return repr(self.__nonzero__())
def __str__(self):
return str(self.__nonzero__())
def __eq__(self, other):
return self.__nonzero__() == other
def __ne__(self, other):
return self.__nonzero__() != other
Maybe = _Maybe()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment