我有一个带有几个初始化变量的Python类:
class Foo(object):
def __init__(self, d1, d2):
self.d1 = d1
self.d2 = d2
有没有办法在 PyCharm 中自动创建此代码,这样我就不必显式输入:
self.dn = dn
这种模式在我的代码中经常发生。有没有更好的(Pythonic)方法来初始化类?
我已经看过这篇文章(在Python中进行自动属性分配的最佳方法是什么,这是一个好主意吗?),但我不想使用装饰器,因为它使代码可读性较差。
您可以从制作自定义实时模板开始。我不确定是否可以通过这种方式自动生成可变数量的参数,但是,对于两个构造函数参数,实时模板可能如下所示:
class $class_name$:
def __init__(self, $arg1$, $arg2$):
self.$arg1$ = $arg1$
self.$arg2$ = $arg2$
$END$
这就是我在 PyCharm 中设置的方式:
或者,您可以更改设置实例属性的方式并将其概括为 N 个参数,请参阅:
部分回答我自己的问题:
非常方便,谢谢。在版本 2020.2 中,“修复全部”选项消失了。 有谁知道怎么加回来吗?
我还没有找到一种方法来添加丢失的选项,但有一种解决方法可以完成相同的任务,将所有丢失的字段添加到类中。
答案来自这篇文章:https://stackoverflow.com/a/62060345/1067293
它有点过于复杂,但当你有多个参数时仍然会派上用场。