Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Singleton/SingletonPattern.py
- class OnlyOne:
- class __OnlyOne:
- def __init__(self, arg):
- self.val = arg
- def __str__(self):
- return repr(self) + self.val
- instance = None
- def __init__(self, arg):
- if not OnlyOne.instance:
- OnlyOne.instance = OnlyOne.__OnlyOne(arg)
- else:
- OnlyOne.instance.val = arg
- def __getattr__(self, name):
- return getattr(self.instance, name)
- x = OnlyOne('sausage')
- print(x)
- y = OnlyOne('eggs')
- print(y)
- z = OnlyOne('spam')
- print(z)
- print(x)
- print(y)
- print(`x`)
- print(`y`)
- print(`z`)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement