【发布时间】:2021-06-18 03:33:03
【问题描述】:
Python Lint 不会检测到不正确的类成员。它继续运行我的代码,我在下面有 productName 成员,而不是 productNameTest。它应该发送一个错误。如何解决?目前正在使用 VS Code。
产品型号:
@dataclass(init=False)
class ProductModel:
productId: int
productName: str
产品服务:
class ProductService:
def __init__(self, productModel: ProductModel):
self.productModel= productModel
def getProductModel(self, curveData):
self.productModel.productNameTest = "ABCD" # productNameTest is not a member and should be giving error
【问题讨论】:
-
"# productNameTest 不是成员,应该给出错误" 你为什么相信?默认情况下,用户定义的 Python 对象可以添加任意属性。
-
@juanpa.arrivillaga 是否将其限制为一组已定义的成员?
-
你可以使用
__slots__ -
好的。您发布的代码毫无意义。 Python 不是 Java。不要假设语言的工作方式相同。例如,为什么您希望
productModel可以在任何地方定义? 它不是。请阅读有关 Python 类定义的教程,而不是随意提问:官方 tutorial 将是一个很好的起点。 -
我知道任何属性都是允许的,我猜我的 pylint 没有显示错误,可能是 cc @juanpa.arrivillaga,我应该改写问题,谢谢
标签: python python-3.x visual-studio-code pylint python-class