Advertisement
rfmonk

weakref_proxy.py

Jan 13th, 2014
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.38 KB | None | 0 0
  1. #!/usr/bin/en python
  2.  
  3.  
  4. import weakref
  5.  
  6.  
  7. class ExpensiveObject(object):
  8.     def __init__(self, name):
  9.         self.name = name
  10.  
  11.     def __del__(self):
  12.         print '(Deleting %s)' % self
  13.  
  14. obj = ExpensiveObject('My Object')
  15. r = weakref.ref(obj)
  16. p = weakref.proxy(obj)
  17.  
  18. print 'via obj:', obj.name
  19. print 'via ref:', r().name
  20. print 'via proxy:', p.name
  21. del obj
  22. print 'via proxy:', p.name
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement