首頁 >後端開發 >Python教學 >為什麼我總是將中間值分配給局部變數而不是直接將它們傳遞給函數調用

為什麼我總是將中間值分配給局部變數而不是直接將它們傳遞給函數調用

Linda Hamilton
Linda Hamilton原創
2024-09-27 06:22:291139瀏覽

Why I always assign intermediate values to local variables instead of passing them directly to function calls

而不是

def do_something(a, b, c):
    return res_fn(
        fn(a, b),
        fn(b),
        c
    )

我願意:

def do_something(a, b, c):
    inter_1 = fn(a, b)
    inter_2 = fn(b)

    result = res_fn(inter_1, inter_2, c)
    return result

第一個版本短得多,如果格式正確,同樣具有可讀性。

但我更喜歡第二種方法的原因是因為所有中間步驟都保存到局部變數中。

像Sentry這樣的異常追蹤工具,甚至是設定DEBUG=True時彈出的Django錯誤頁面,都會捕捉本地上下文。最重要的是,如果您必須使用偵錯器單步執行該函數,您可以在單步執行該函數之前看到確切的返回值。這就是為什麼我甚至在返回之前將最終結果保存在局部變數中的原因。

以幾個額外的變數賦值和幾行額外的程式碼為代價,這使得偵錯變得更加容易。

以上是為什麼我總是將中間值分配給局部變數而不是直接將它們傳遞給函數調用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn