python趣味 ——奇葩的全局形参
生活随笔
收集整理的這篇文章主要介紹了
python趣味 ——奇葩的全局形参
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在c++,c#,js等語言中:
函數定義(參數)
函數體:參數修改
這里的參數修改都是僅限于這個函數體內的
python不知道是不是bug,我們這樣寫:
def test(a=[]):
a.append(1);print(a)
然后多次執行test函數:
>>> test()
[1]
>>> test()
[1, 1]
>>> test()
[1, 1, 1]
>>> test()
[1, 1, 1, 1]
你會發現輸出的值在變,這是個有趣的坑——形參在變。
>>> test([2])
這并不會影響這個全局形參的值,再次調用默認參數的test:
>>> test()
[1, 1, 1, 1, 1]
總結
以上是生活随笔為你收集整理的python趣味 ——奇葩的全局形参的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 氙灯耐侯试验箱的这些注意事项你都知道吗?
- 下一篇: 三相穿孔电流变送器接线及安装调试注意事项