python属性样式



我曾经是一名java程序员,目前正在转向Python。在Java中,所有函数都是类方法,但我不确定Python中的情况。如果我定义了一个队列并想知道队列的大小,什么是最佳设计?

  1. 定义变量__size,并定义方法size()

  2. 使用方法大小的@property使__size成为只读

  3. 简单定义可变自尺寸

我的问题实际上集中在Python的编码风格上,是让一切都成为方法还是使用私有变量。使用@property getters&每个变量的setter?

我同意Eli的链接,因为通常getter和setter是额外的cruft。

但是在这种特殊情况下,您应该定义一个__len__()方法,该方法将返回队列的当前大小,允许您使用len(<obj>)内建函数来检索长度。除其他外,它将允许您轻松地获得一个布尔值,以确定您的队列是否为空。

Python的方法就是拥有一个属性。如果以后碰巧需要该属性后面的更多功能,则可以始终使用@property装饰器。

阅读此以了解更多详细信息:http://eli.thegreenplace.net/2009/02/06/getters-and-setters-in-python/

相关内容

  • 没有找到相关文章

最新更新