使用 attrs 对子类进行 Pycharm 类型提示
Posted
技术标签:
【中文标题】使用 attrs 对子类进行 Pycharm 类型提示【英文标题】:Pycharm typehint on subclass using attrs 【发布时间】:2019-02-20 22:07:08 【问题描述】:Pycharm 正在抱怨 MyClass 实例出现意外参数。有没有办法解决这个问题?
import attr
@attr.s
class _Super:
""" My Super class"""
x: str = attr.ib(validator=attr.validators.instance_of(str))
@attr.s
class MyClass(_Super):
""" My Sub class"""
y:str = attr.ib(validator=attr.validators.instance_of(str))
x = MyClass(x="a", y="b") # (x variable) Pycharm Typehint: "Unexpected argument"
【问题讨论】:
了解您的 PyCharm 版本以及pip freeze
命令的输出不会很差,不是吗?
您使用的是哪个 python 版本(解释器)?我无法重现您对 PyCharm 2018.2 和 PyCharm 2018.1 的问题(尽管 attrs support 仅在 2018.2 及更高版本中可用)
我正在使用 Python 3.6、Pycharm 2018.2 和 attrs 18.1.0(所以不会让我粘贴整个 pip freeze)
【参考方案1】:
这是 PyCharm 2018.2 中的一个错误
https://youtrack.jetbrains.com/issue/PY-28506
【讨论】:
以上是关于使用 attrs 对子类进行 Pycharm 类型提示的主要内容,如果未能解决你的问题,请参考以下文章