這種情況可能是由于函數內部對同一個參數進行了修改,導致第二次調用時的返回值與第一次不同。如果不希望出現這種情況,可以考慮在函數內部使用參數的副本進行操作,而不是直接修改原始參數。例如可以使用以下代碼:
def my_func(param):
temp = param.copy() # 使用參數的副本進行操作
# 對temp進行操作,不修改原始參數
return result
# 調用函數時使用參數的副本
my_param = [1, 2, 3]
result1 = my_func(my_param.copy())
result2 = my_func(my_param.copy())
這樣就可以保證每次調用函數時使用的都是參數的原始副本,避免了函數內部對同一個參數進行修改導致返回值不同的情況。