python代码读取外部变量_关于python闭包的问题,内部函数可以获取外部函数的变量吗?...
生活随笔
收集整理的這篇文章主要介紹了
python代码读取外部变量_关于python闭包的问题,内部函数可以获取外部函数的变量吗?...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
def?lazy_sum(*args):
ax?=?0
def?sum():
for?n?in?args:
ax?=?ax?+?n????????return?ax????return?sum
f?=?lazy_sum(1,?3,?5,?7,?9)print?f()
為什么這時會報錯ax=0未聲明,而這樣:def?test():
x?=?1
def?child():
print?'x+x=',x+x????????return?x+x
x?=?x?+?child()????return?x
f?=?test()print?f
就沒問題呢?
剛剛又試了一下,第一段程序改成這樣就可以了:def?lazy_sum(*args):
ax?=?0
def?sum():
for?n?in?args:
c?=?ax?+?n????????return?c????return?sum
f?=?lazy_sum(1,?3,?5,?7,?9)print?f()
我在想,是不是內部函數可以獲得外部函數的變量,但是卻不能修改它?
總結
以上是生活随笔為你收集整理的python代码读取外部变量_关于python闭包的问题,内部函数可以获取外部函数的变量吗?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python alpha beta_py
- 下一篇: python 按从小到大的顺序组合成一个