我的代码:
class OfferHandler:
def get(provider, **kwargs):
getattr(OfferHandler, 'get_' + provider)(**kwargs)
def get_ADM(settings, ip, uniquekey):
return settings
x = OfferHandler
settings = x.get('ADM', '{json settings}', '127.0.0.1', '123')
pprint(settings) # prints Null instead of {json settings}
为什么没有正确推送参数?
答案 0 :(得分:2)
您没有使用关键字参数,只使用位置参数。
如果您使用关键字参数,它们实际上可以由**kwargs
捕获并传递:
settings = x.get('ADM', settings='{json settings}', ip='127.0.0.1', uniquekey='123')
请注意,您实际上并未使用OfferHandler
作为课程;您似乎将其用作命名空间。使用Python模块来创建名称空间; class
实际上只应该用于实际的类,所以你想创建的对象是。