說我有:爲關鍵字參數任意數量的設置默認值
class Example(object):
def __init__(self, table = None, rows = None, cats = None, **kwargs)
self.table = table
self.rows = rows
self.cats = cats
我的問題是,如何才能讓kwargs具有無的默認值,爲所有的kwargs? kwargs是一個字典,對...?
說我有:爲關鍵字參數任意數量的設置默認值
class Example(object):
def __init__(self, table = None, rows = None, cats = None, **kwargs)
self.table = table
self.rows = rows
self.cats = cats
我的問題是,如何才能讓kwargs具有無的默認值,爲所有的kwargs? kwargs是一個字典,對...?
這沒有任何意義。使用kwargs
的原因是因爲您不確定要傳入哪些關鍵字參數。因此,未知關鍵字參數具有默認值會意味着什麼?
當你問從kwargs
值通過簡單地使用字典.get()
方法,如果這就是你要問什麼,你可以使用默認:
value_that_might_be_missing = kwargs.get('myvalue', 'mydefault')
否則我真的無法想象你會怎樣想。
一些上下文:我有一個類需要稍後使用一些數據......但我希望能夠稍後獲取任意數量的數據,但能夠基於它是什麼來操作它。 – 2013-05-06 20:30:44
所以雖然我不知道我會得到多少未知的關鍵字參數,但我知道我希望它們都具有None的初始值。 – 2013-05-06 20:35:07
是的是一本字典。因此,它支持get()
方法。就像使用[]
一樣,但將返回None
(或自定義值),而不是提高KeyError
。
您可以檢查kwargs中是否存在所需的鍵,如果沒有,則分配None。 – M456 2013-05-06 20:28:00