PyCharm - 为所有构造函数参数生成字段

7 python code-generation pycharm

我用构造函数定义了一个类:

class Example:
    def __init__(self, a, b, c):
        ...
Run Code Online (Sandbox Code Playgroud)

现在我想为每个构造函数参数声明一个字段,如下所示:

class Example:
    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c
Run Code Online (Sandbox Code Playgroud)

我想自动执行此操作。PyCharm 的检查允许我为参数生成字段,但一次只能生成一个(作为 的修复Parameter x is not used),这很烦人。对于所有参数,我如何同时执行此操作?

我发现最接近的是python 类 __init__ function 的 PyCharm 模板,解决方案不灵活,因为它只支持固定数量的参数。而且,我觉得这是成熟的IDE必须实现的功能,Idea允许这样做。

那篇文章还参考了在 Python 中进行自动属性分配的最佳方法是什么,这是个好主意吗?,其中讨论了autoassign,这似乎有很多缺点。

我的 PyCharm 版本是 2019.1.3 CE。

Nea*_*eal 5

我最接近处理这个问题的是在函数中写入所有参数:

    class Xyz:
        def __init__(a, b, c):
Run Code Online (Sandbox Code Playgroud)

突出显示一个参数,右键单击,然后单击“显示上下文操作
它应该显示“将字段'a'添加到 Xyz 类”然后单击箭头?
并单击“在...上运行检查
将检查范围指定为该文件或类。
然后您的类/文件应该出现在检查结果窗口中,单击下拉箭头并突出显示参数,您应该能够“向类 Xyz 添加字段”,这将添加您选择的所有字段

    class Xyz:
        def __init__(a, b, c):
            self.a = a
            self.b = b
            self.c = c
Run Code Online (Sandbox Code Playgroud)