相关疑难解决方法(0)

在Python中进行自动属性赋值的最佳方法是什么,这是一个好主意吗?

而不是每次我定义一个类时都编写这样的代码:

class Foo(object): 
     def __init__(self, a, b, c, d, e, f, g):
        self.a = a
        self.b = b
        self.c = c
        self.d = d
        self.e = e
        self.f = f
        self.g = g
Run Code Online (Sandbox Code Playgroud)

我可以使用此配方进行自动属性分配.

class Foo(object):
     @autoassign
     def __init__(self, a, b, c, d, e, f, g):
        pass
Run Code Online (Sandbox Code Playgroud)

两个问题:

  1. 这条捷径有缺点或陷阱吗?
  2. 有没有更好的方法来实现类似的便利?

python attributes decorator

31
推荐指数
4
解决办法
7186
查看次数

python类__init__函数的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中进行自动属性赋值的最佳方法是什么,这是一个好主意吗?),但我不想使用装饰器,因为它使代码的可读性降低.

python attributes class pycharm

5
推荐指数
2
解决办法
2704
查看次数

标签 统计

attributes ×2

python ×2

class ×1

decorator ×1

pycharm ×1