Skip to content

Instantly share code, notes, and snippets.

@syedjafer
Created September 7, 2022 15:44
Show Gist options
  • Save syedjafer/010caf3f4eb59ab35aa02365629d2a5c to your computer and use it in GitHub Desktop.
Save syedjafer/010caf3f4eb59ab35aa02365629d2a5c to your computer and use it in GitHub Desktop.
def singleton(Class):
instances = {}
def getInstances(*args, **kwargs):
if Class not in instances:
instances[Class] = Class(*args, **kwargs)
return instances[Class]
return getInstances
@singleton
class Test:
def __init__(self):
self.val = 10
obj1 = Test()
print(obj1.y)
obj1.y = 30
obj2 = Test()
print(obj2.y)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment