gpt4 book ai didi

Python Mixin - 未解析的属性引用 [PyCharm]

转载 作者:行者123 更新时间:2023-12-02 14:15:25 25 4
gpt4 key购买 nike

我正在使用 mixin 将一系列功能分离到不同的类中。这个 Mixin 只能与唯一的子类混合:

class Mixin:
def complex_operation(self):
return self.foo.capitalize()

class A(Mixin):
def __init__(self):
self.foo = 'foo'

在我的方法中 Mixin.complex_operation PyCharm 发出警告“未解析的属性引用 foo”。

我是否正确使用了 mixin 模式? 有更好的方法吗?(我希望在我的 mixins 中具有类型提示和自动完成功能,并且我希望有多个 mixins。)

最佳答案

在 Mixin 中声明必要的字段,例如:

class Mixin:
foo: str

def complex_operation(self):
return self.foo.capitalize()

这样,mixin 实际上声明了类必须能够使用此 mixin 的字段。如果扩展类将不兼容的类型放入声明的字段中,类型提示将产生警告。

编辑:按照@valex的建议将 foo = None 替换为 foo:str

关于Python Mixin - 未解析的属性引用 [PyCharm],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55209849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com