python自由变量指的是什么
生活随笔
收集整理的這篇文章主要介紹了
python自由变量指的是什么
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這篇文章主要介紹“python自由變量指的是什么”,在日常操作中,相信很多人在python自由變量指的是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python自由變量指的是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
1、自由變量是指未綁定到本地作用域的變量。如果自由變量綁定的值是可變的,變量仍然可以在封閉包中操作。如果是不可變的(數字、字符串等。),在封閉包中重新綁定自由變量會出錯。
defmake_averager(): count=0 total=0 defaverager(new_value): count+=1 total+=new_value returntotal/count returnaverager >>>avg=make_averager() >>>avg(10) Traceback(mostrecentcalllast): ... UnboundLocalError:localvariable'count'referencedbeforeassignment
2、為了將變量標記為自由變量,可以使用nonlocal語句進行聲明,nonlocal語句可以解決。
defmake_averager(): count=0 total=0 defaverager(new_value): nonlocalcount,total#聲明count、total為自由變量 count+=1 total+=new_value returntotal/count returnaverager
總結
以上是生活随笔為你收集整理的python自由变量指的是什么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php date.php 源码,date
- 下一篇: vmware虚拟机打不开如何解决