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