python属性样式

python属性样式,python,properties,styles,Python,Properties,Styles,我曾经是一名java程序员,现在正在改用Python。 在Java中,所有函数都是类方法,但我不确定Python中的情况。 如果我定义了一个队列并想知道队列的大小,那么最好的设计是什么 定义变量大小,并定义方法大小() 在方法大小处使用@property使_大小为只读 只需定义变量self.size 我的问题真正集中在Python的编码风格上,是使everything成为方法还是使用私有变量。 对每个变量使用@property getter和setter是否更可取?python方法只是拥有一个属

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

  • 定义变量大小,并定义方法大小()

  • 在方法大小处使用@property使_大小为只读

  • 只需定义变量self.size

  • 我的问题真正集中在Python的编码风格上,是使everything成为方法还是使用私有变量。
    对每个变量使用@property getter和setter是否更可取?

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


    阅读本文了解更多详细信息:

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


    阅读此文了解更多细节:

    我同意Eli的链接,因为通常“能手”和“二传手”都是多余的


    但是在这种特殊情况下,您应该定义一个方法,返回队列的当前大小,允许您使用内置项检索长度。除此之外,它还可以让您轻松获得一个布尔值,以确定队列是否为空。

    我同意Eli的链接,因为通常getter和setter都是多余的


    但是在这种特殊情况下,您应该定义一个方法,返回队列的当前大小,允许您使用内置项检索长度。除此之外,它还允许您轻松获得一个布尔值,以确定队列是否为空。

    是的,同意在这种特定情况下,特殊的
    \uu len\uu
    方法是一种可行的方法。我的答案更多的是关于属性和getter/setters的一般性建议Yep,同意在这个特定的案例中,特殊的
    \uu len\uu
    方法是一条出路。我的答案更多的是关于属性和getter/setter的一般性建议