属性方法、<>.setter 和 setter 方法名称的约定

问题描述 投票:0回答:1

命名有约定吗:

1.- 属性方法:在下面的例子中,“def get_number(...)”。这是个好名字吗?应该是另外一个吗?

2.- setter:在下面的示例中“get_number.setter”。它总是 .setter 吗?

3.- setter 方法:在下面的示例中:“def number (...)”。使用变量名作为方法可以吗

class Contact:
    def __init__(self, in_number):
        self._number = in_number
    
    @property
    def get_number(self): 
        return self._number

    @get_number.setter  
    def number(self, value): 
        self._number = value

我在文档中没有找到它。

class properties setter
1个回答
0
投票

回答我的问题:

class Contact:
    def __init__(self, in_number):
        self._number = in_number

    @property
    def my_number(self): #1
        return self._number

    @my_number.setter  #2
    def my_number(self, value): #3
        self._number = value

esther = Contact(6)
print(esther.my_number)
esther.my_number = 8
print(esther.my_number)
  • #1 这个方法名称可以是任何你想要的,只要它对于检索私有变量的值有意义。

  • #2 @setter 必须与属性方法同名

  • #3 setter 方法可以根据需要命名,但为了对用户有意义,请使用与 @property 方法相同的名称

© www.soinside.com 2019 - 2024. All rights reserved.