避免Python 中的預設參數出現問題
使用Python 的預設參數時,可能會出現某些複雜性,特別是對於可變參數。為了防止這些問題,解決預設參數的行為至關重要。
例如,考慮以下函數:
def my_func(working_list=[]): working_list.append("a") print(working_list)
在初始呼叫時,空列表預設參數會如預期運作。但是,後續呼叫會導致意外行為,其中預設參數(最初是一個空列表)會保留先前執行中附加的元素。
為了解決此問題並在每次函數呼叫時創建一個新的空列表,Python 提供了兩種方法:
1。檢定無:
def my_func(working_list=None):<pre class="brush:php;toolbar:false">if working_list is None: working_list = [] working_list.append("a") print(working_list)
2.條件賦值:
working_list = [] if working_list is None else working_list working_list.append("a") print(working_list)
def my_func(working_list=None):<p></p>
以上是如何避免 Python 中可變預設參數的意外行為?的詳細內容。更多資訊請關注PHP中文網其他相關文章!