ch06: update from book draft
This commit is contained in:
28
06-obj-ref/cheese.py
Normal file
28
06-obj-ref/cheese.py
Normal file
@@ -0,0 +1,28 @@
|
||||
"""
|
||||
>>> import weakref
|
||||
>>> stock = weakref.WeakValueDictionary()
|
||||
>>> catalog = [Cheese('Red Leicester'), Cheese('Tilsit'),
|
||||
... Cheese('Brie'), Cheese('Parmesan')]
|
||||
...
|
||||
>>> for cheese in catalog:
|
||||
... stock[cheese.kind] = cheese
|
||||
...
|
||||
>>> sorted(stock.keys())
|
||||
['Brie', 'Parmesan', 'Red Leicester', 'Tilsit']
|
||||
>>> del catalog
|
||||
>>> sorted(stock.keys())
|
||||
['Parmesan']
|
||||
>>> del cheese
|
||||
>>> sorted(stock.keys())
|
||||
[]
|
||||
"""
|
||||
|
||||
# tag::CHEESE_CLASS[]
|
||||
class Cheese:
|
||||
|
||||
def __init__(self, kind):
|
||||
self.kind = kind
|
||||
|
||||
def __repr__(self):
|
||||
return 'Cheese(%r)' % self.kind
|
||||
# end::CHEESE_CLASS[]
|
||||
Reference in New Issue
Block a user