我希望基类变量有默认值,而派生类变量没有默认值。我在以下网站上读到了'kw_only':
https://medium.com/@aniscampos/python-dataclass-inheritance-finally-686eaf60fbb5
并在我的代码上尝试了一下:
from dataclasses import dataclass, field
@dataclass(kw_only=True)
class Base:
c:int = field(default=8, compare=False)
def printBVars(self):
print("Base:", self.c)
@dataclass(kw_only=True)
class Derive(Base):
cc:int = field()
def printDVars(self):
super().printBVars()
print("Derive:", self.cc)
a = Derive()
a.printDVars()
字符串
但是Python给出了这个错误:
第一个月
我做错了什么?我用的是python 3.9,我从google那里读到了一些解决方案的建议,试了一些,但没有帮助。比如运行:pip install attrs --upgrade
1条答案
按热度按时间gcmastyq1#
Python版本更新到3.11
通过下面的代码在图片中,你不能使用kw_only。
Image Link