在Python中,使用属性而不是Java样式的getter,setter.所以人们很少在类的公共接口中看到get ...或set ..方法.
但是在一个属性不合适的情况下,人们可能仍然会得到像getter或setter一样的方法.现在我的问题:这些方法名称应该以get_
/ 开头set_
吗?或者是这种单声道的冗长,因为它通常很明显是什么意思(并且仍然可以使用文档字符串来澄清非显而易见的情况)?
这可能是个人品味的问题,但我会对大多数人对此有何看法感兴趣?作为API用户,您更喜欢什么?
示例:假设我们有一个表示多个城市的对象.一个人可能有一个方法,get_city_by_postalcode(postalcode)
或者可以使用较短的名称city_by_postalcode
.我倾向于后者.
通过使用描述符,您将永远不会失去让您的属性像getter/setter一样行事的机会.如果要将属性更改为只读,也可以使用与属性同名的getter方法替换它,并使用@property进行装饰.所以我的建议是避免使用getter/setter,除非你正在使用它们的项目已经使用它们,因为你可以随时改变主意,使属性只读,只写或者不修改类的接口.