setattr 与 kwargs,pythonic 与否?

setattr with kwargs, pythonic or not?(setattr 与 kwargs,pythonic 与否?)

本文介绍了setattr 与 kwargs,pythonic 与否?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在一些具有许多参数(最多 20 个)的 SQLAlchemy ORM 类中使用像这样的 __init__().

I'm using __init__() like this in some SQLAlchemy ORM classes that have many parameters (upto 20).

def __init__(self, **kwargs):
    for k, v in kwargs.iteritems():
        setattr(self, k, v)

这样设置属性是pythonic"吗?

Is it "pythonic" to set attributes like this?

推荐答案

是的.另一种方法是.

def __init__(self, **kwargs):
    self.__dict__.update( kwargs )

这篇关于setattr 与 kwargs,pythonic 与否?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:setattr 与 kwargs,pythonic 与否?

基础教程推荐