在以下代码中,返回了名为prop
的闭包。我正在寻求帮助来了解prop
是什么以及它将如何有用。谢谢! (代码来源:https://github.com/dabeaz-course/practical-python/blob/24cd6df9cfb243bde7e90f01f4d64c385c899b6c/Notes/07_Advanced_Topics/03_Returning_functions.md)
# typedproperty.py
def typedproperty(name, expected_type):
private_name = '_' + name
@property
def prop(self):
return getattr(self, private_name)
@prop.setter
def prop(self, value):
if not isinstance(value, expected_type):
raise TypeError(f'Expected {expected_type}')
setattr(self, private_name, value)
return prop