我正在编写一个Python类,并使用@property装饰器为该类创建属性。
在文档中,我没有找到有关此装饰器的详细信息,但从Stack Overflow和Python linter的说明中可以了解到:使用property装饰器创建的属性可以采用以下格式:定义、getter、setter、deleter,如下所示:
在文档中,我没有找到有关此装饰器的详细信息,但从Stack Overflow和Python linter的说明中可以了解到:使用property装饰器创建的属性可以采用以下格式:定义、getter、setter、deleter,如下所示:
@property
def name(self):
return self.__name
@name.getter
def name(self):
return self.__name
@name.setter
def name(self, value):
self.__name=value
@name.deleter
def name(self):
del self.__name
我不完全确定第一个块的用途。它内部的代码与 getter
函数完全相同。
第一个块是干什么用的?它与 getter
块有何不同,如果没有,我可以删除其中之一吗?
@name.getter
?实际上你不需要它,而且它也没有在文档中提到。 - DeepSpacegetter
部分。@property
部分充当getter。 - Klaus D.@name.
时,VSCode会在下拉菜单中给我选项,而像这个问题这样的随机问题中有 .getter。 - Nat Riddle