在 Python 中,使用属性代替 Java 风格的 getter、setter。所以很少有人在类的公共(public)接口(interface)中看到 get... 或 set.. 方法。
但在某些情况下,如果某个属性不合适,可能仍会使用行为类似于 getter 或 setter 的方法。现在我的问题是:这些方法名称应该以 get_
/set_
开头吗?还是这种非Python式的冗长,因为它的含义通常很明显(并且仍然可以使用文档字符串来澄清不明显的情况)?
这可能是个人品味问题,但我想知道大多数人对此有何看法?作为 API 用户,您更喜欢什么?
示例:假设我们有一个代表多个城市的对象。可能有一种方法 get_city_by_postalcode(postalcode)
或者可以使用更短的名称 city_by_postalcode
。我倾向于后者。
最佳答案
通过使用 descriptors,您将永远不会失去让您的属性像 getter/setter 一样工作的机会。 .如果要将属性更改为只读,也可以将其替换为与属性同名的 getter 方法,并使用 @property 对其进行修饰。因此,我的建议是避免使用 getter/setter,除非您正在处理的项目已经使用了它们,因为您以后随时可以改变主意,将属性设置为只读、只写或其他任何状态,而无需修改类的接口(interface)。
关于python - 我应该在 Python 方法名称中使用 get_/set_ 前缀吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/374763/