summaryrefslogtreecommitdiff
path: root/docs/examples/userguide/extension_types/cheesy.py
diff options
context:
space:
mode:
Diffstat (limited to 'docs/examples/userguide/extension_types/cheesy.py')
-rw-r--r--docs/examples/userguide/extension_types/cheesy.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/docs/examples/userguide/extension_types/cheesy.py b/docs/examples/userguide/extension_types/cheesy.py
new file mode 100644
index 000000000..0995c3993
--- /dev/null
+++ b/docs/examples/userguide/extension_types/cheesy.py
@@ -0,0 +1,36 @@
+import cython
+
+@cython.cclass
+class CheeseShop:
+
+ cheeses: object
+
+ def __cinit__(self):
+ self.cheeses = []
+
+ @property
+ def cheese(self):
+ return "We don't have: %s" % self.cheeses
+
+ @cheese.setter
+ def cheese(self, value):
+ self.cheeses.append(value)
+
+ @cheese.deleter
+ def cheese(self):
+ del self.cheeses[:]
+
+# Test input
+from cheesy import CheeseShop
+
+shop = CheeseShop()
+print(shop.cheese)
+
+shop.cheese = "camembert"
+print(shop.cheese)
+
+shop.cheese = "cheddar"
+print(shop.cheese)
+
+del shop.cheese
+print(shop.cheese)