相关疑难解决方法(0)

如何在python中从变量参数(kwargs)设置类属性

假设我有一个带有构造函数(或其他函数)的类,它接受可变数量的参数,然后有条件地将它们设置为类属性.

我可以手动设置它们,但似乎变量参数在python中很常见,应该有一个共同的习惯用法.但我不确定如何动态地这样做.

我有一个使用eval的例子,但这几乎不安全.我想知道这样做的正确方法 - 也许是lambda?

class Foo:
    def setAllManually(self, a=None, b=None, c=None):
        if a!=None: 
            self.a = a
        if b!=None:
            self.b = b
        if c!=None:
            self.c = c
    def setAllWithEval(self, **kwargs):
        for key in **kwargs:
            if kwargs[param] != None
                eval("self." + key + "=" + kwargs[param])
Run Code Online (Sandbox Code Playgroud)

python

93
推荐指数
5
解决办法
7万
查看次数

自动初始化实例变量?

我有一个python类,看起来像这样:

class Process:
    def __init__(self, PID, PPID, cmd, FDs, reachable, user):
Run Code Online (Sandbox Code Playgroud)

其次是:

        self.PID=PID
        self.PPID=PPID
        self.cmd=cmd
        ...
Run Code Online (Sandbox Code Playgroud)

有没有办法自动初始化这些实例变量,比如C++的初始化列表?它会节省大量冗余代码.

python class initialization-list

75
推荐指数
8
解决办法
3万
查看次数

标签 统计

python ×2

class ×1

initialization-list ×1