changeset 183:fdb3afaaf6fb

created
author 127.0.0.1
date Mon, 03 Feb 2014 12:44:46 +0100
parents a84eb85076d5
children 81d264d6fb57
files finalizer
diffstat 1 files changed, 21 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/finalizer	Mon Feb 03 12:44:46 2014 +0100
@@ -0,0 +1,21 @@
+**Wrong:**
+{{{#!python
+class Resource(object):
+    def __init__(self):
+        self.resource = get_resource()
+    def __del__(self):
+        release_resource(self.resource)
+
+resource = Resource()
+...
+}}}
+
+**Better:**
+{{{#!python
+class Resource(object):
+    def __enter__(self):
+        self.resource = get_resource()
+        return self
+    def __exit__(self, exc_type, exc_value, traceback):
+        release_resource(self.resource)
+}}}
\ No newline at end of file