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

时间:2019-06-27 22:00:46

标签: python pycharm code-generation

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

class Example:
    def __init__(self, a, b, c):
        ...

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

class Example:
    def __init__(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c

我想自动执行此操作。通过PyCharm的检查,我可以为参数生成字段,但是一次只能生成一个字段(作为Parameter x is not used的修复程序),这非常烦人。如何同时针对所有参数执行此操作?

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

该帖子还引用了What is the best way to do automatic attribute assignment in Python, and is it a good idea?,其中讨论了autoassign,这似乎有很多弊端。

我的PyCharm版本是2019.1.3 CE。

1 个答案:

答案 0 :(得分:2)

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

    class Xyz:
        def __init__(a, b, c):

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

    class Xyz:
        def __init__(a, b, c):
            self.a = a
            self.b = b
            self.c = c