首先Python函數參數可以是多個可選的
比如args傳進來一個list可以遍歷裏面的非必要參數
比如**kwargs傳進來一個dict可以根據參數名來找到對應的value
然後遇到的問題是,有時候包太多層太複雜的情況時,或者開發者根本不知道別人傳進來啥參數時,就幫着繼續傳,導致最後這個kwargs裏面混雜着許多奇怪且不知名的東西,並且可能永遠也沒人用到這個可選參數
於是就從方便變成了被人唾棄
遇到一個情況,**option表示函數的可選參數,因爲傳了太多層,導致很混亂,今天弄了個小功能,結果基類裏的 **option已經包含太多奇怪的東西,大家揚言再加入 **option就殺了我,於是有一個操作可以在我使用的外層提前撈出我想要的可選參數,使得 **option裏的內容不被污染
代碼如下
def __init__(self, path: str, value:str = 'something', **options):
super().__init__(path, **options)
self.value = value
臨時記得筆記,以後有機會再詳細補充