只是一个简单的问题,我在理解使用属性的位置与使用普通旧属性的位置时遇到一些困难.我的区别有点模糊.关于这个问题的任何资源都将是一流的,谢谢!
Sve*_*ach 15
属性比属性更灵活,因为您可以定义描述在设置,获取或删除它们时应该发生什么的函数.如果您不需要这种额外的灵活性,请使用属性 - 它们更容易声明且更快.
在像Java这样的语言中,通常建议总是编写getter和setter,以便将来可以选择用更复杂的版本替换这些函数.这在Python中不是必需的,因为访问属性和属性的客户端代码语法是相同的,因此您可以随后选择使用属性,而不会破坏向后兼容性.
Dan*_*man 13
关键是语法是可以互换的.始终从属性开始.如果在访问属性时发现需要其他计算,请将其替换为属性.