为什么Pycharm无法理解将哪些参数传递给继承的Python数据类'__init __?

问题描述 投票:3回答:1

在数据类的情况下,Pycharm为什么不理解将哪些参数传递给子类的init?>

关于该问题的评论之后的其他信息:我正在将Pycharm 2018.3.4 Community

版本与Python 3.7.3结合使用

我在Python中具有以下代码:

from dataclasses import dataclass


@dataclass
class A():
    r: int
    s: int

@dataclass
class B(A):
    t: int

    @staticmethod
    def agg(r: int, s: int, t: int):
        record: B = B(r,s,t)
        return record

b: B = B.agg(1,22,333)
print(b)

这将产生以下输出:

B(r=1, s=22, t=333)

但是,当涉及到数据类时,Pycharm无法理解应将哪些参数传递给B的init

。当您编写自己的init方法时,Pycharm可以正常工作。

我在这里做错了什么?如何使Pycharm显示正确的帮助?


Pycharm显示要提供给__init__]的参数的列表。

Pycharm shows the list of parameters to provide to __init__


Pycharm不显示要提供给__init__]的参数列表

Pycharm doesn't show the list of parameters to provide to __init__

在数据类的情况下,Pycharm为什么不理解要传递给子类的init的参数关于此问题的注释之后的其他信息:我正在使用Pycharm 2018.3.4 ...

< [
如问题注释中所建议。

将Pycharm社区版本从2018.3.4升级到2019.2.5,已解决了该问题。

Latest Pycharm 2019.2.5 shows the correct hints for inherited dataclasses

python inheritance pycharm
1个回答
0
投票
如问题注释中所建议。

将Pycharm社区版本从2018.3.4升级到2019.2.5,已解决了该问题。

Latest Pycharm 2019.2.5 shows the correct hints for inherited dataclasses

© www.soinside.com 2019 - 2024. All rights reserved.