改进__init__,其中将args直接分配给成员

 

问题描述:

我发现自己用这样的构造函数编写了很多类:

class MyClass(object):
    def __init__(self, foo, bar, foobar=1, anotherfoo=None):
        self.foo = foo
        self.bar = bar
        self.foobar = foobar
        self.anotherfoo = anotherfoo

这是难闻的代码气味吗?Python是否提供更优雅的方式来处理此问题?

我的类,甚至一些构造函数都不仅仅是我所展示的,但是我通常有一个传递给构造函数的args列表,最终将它们分配给名称相似的成员。我将一些参数设为可选,以指出执行以下操作时出现的问题:

class MyClass(object):
    def __init__(self, arg_dict):
        self.__dict__ = arg_dict

我正在尝试通过服务器端反向地理编码来获取json响应,现在我想从json响应中获取2或3个变量:我想例如解析这些数据并以例如结尾。 administrative ...