使用属性时出现这个 setter 错误(“X”未定义...)是什么?

问题描述 投票:0回答:2
@property
def GetURLLabel(self):
    return self._URLLabel

# Setter methods
@URLLabel.setter
def SetURLLabel(self, value):
    if isinstance(value, str):
        self._URLLabel = value
    else:
        raise ValueError("Must be a string")

我收到错误:

"URLLabel" is not defined
PylancereportUndefinedVariable
(function) URLLabel: Any

这是目标代码:

class SSLSite:
    def __init__(self, URLLabel, x, x, ...):
        self._URLLabel = URLLabel

我正在努力设置属性的值,URLLabel 就是其中之一。

python properties setter
2个回答
0
投票

正如您所看到的here,您需要在

@property
之前声明
setter
。尝试这样做:

class SSLSite:
    def __init__(self, URLLabel, x, y):
        self._URLLabel = URLLabel

    @property
    def URLLabel(self):
        return self._URLLabel

    @URLLabel.setter
    def URLLabel(self, value):
        if isinstance(value, str):
            self._URLLabel = value
        else:
            raise ValueError("Must be a string")

0
投票

在setter方法之前将URLLabel定义为属性,如下所示:

class SSLSite:
    def __init__(self, URLLabel):
        self._URLLabel = URLLabel
        
    @property
    def URLLabel(self):
        return self._URLLabel
        
    # Setter method
    @URLLabel.setter
    def SetURLLabel(self, value):
        if isinstance(value, str):
            self._URLLabel = value
        else:
            raise ValueError("Must be a string")
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.