python类__init__函数的PyCharm模板

mot*_*m79 5 python attributes class pycharm

我有一个包含几个init变量的python类:

class Foo(object):
    def __init__(self, d1, d2):
        self.d1 = d1
        self.d2 = d2
Run Code Online (Sandbox Code Playgroud)

有没有办法在PyCharm中自动创建此代码,因此我不必明确键入:

self.dn = dn
Run Code Online (Sandbox Code Playgroud)

这种模式在我的代码中经常发生.是否有更好的(Pythonic)方法来初始化类?

我已经看过这篇文章(在Python中进行自动属性赋值的最佳方法是什么,这是一个好主意吗?),但我不想使用装饰器,因为它使代码的可读性降低.

ale*_*cxe 5

您可以从制作自定义实时模板开始.我不确定你是否可以通过这种方式自动生成可变数量的参数,但是,对于两个构造函数参数,实时模板可能如下所示:

class $class_name$:
    def __init__(self, $arg1$, $arg2$):
        self.$arg1$ = $arg1$
        self.$arg2$ = $arg2$
$END$
Run Code Online (Sandbox Code Playgroud)

这是我在PyCharm中设置它的方式:

在此输入图像描述


或者,您可以更改设置实例属性的方式并将其概括为N个参数,请参阅:


Mar*_*son 5

我学会了另一种方法来解决这个问题。

  • 将光标移动到参数
  • 按 alt + 输入
  • 选择 Add field '[arg]' to class for single arg -or-
  • 按右箭头键打开子菜单
  • 选择修复所有“未使用的本地”问题以添加所有参数

在此处输入图片说明