在Python中使用使用@property与getter和setter windows系统中如何在Python中设置路径 在Python中如何下载一个图片 在Python中使用使用@property与getter和setter 这是一个纯Python特定的设计问题: class MyClass(object): ... def get_my_attr(self): ... def set_my_attr(self, value): ... 和 class MyClass(object): ... @property def my_attr(self): ... @my_attr.setter def my_attr(self, value): ... Python让我们可以这样做。如果你要设计一个Python程序,你会使用哪种方法?为什么? 喜欢属性。这就是他们的目的。 原因是Python中的所有属性都是公共的。使用下划线或下划线的起始名称只是警告,给定属性是一个实现细节,在将来的代码版本中可能不会保持不变。它不会阻止您实际获取或设置该属性。因此,标准属性访问是访问属性的正常,Pythonic方式。 属性的优点是它们在语法上与属性访问相同,因此您可以在不更改客户端代码的情况下从一个更改为另一个。您甚至可以使用一个版本的类使用属性(例如,用于按合同进行编译或调试)和一个不用于生产的类,而不更改使用它的代码。同时,您不必为所有内容编写getter和setter,以防您以后需要更好地控制访问。 有时候为了做一些验证 def set_email(self, value): if '@' not in value: raise Exception("This doesn't look like an email address.") self._email = value def get_email(self): return self._email email = property(get_email, set_email) windows系统中如何在Python中设置路径 在Python中如何下载一个图片