import sys
def g(): frame = sys._getframe() caller = frame.f_back print "caller's local namespace: ", caller.f_locals caller.f_locals['a'][0] = 100 caller.f_locals['b'] = 4 caller.f_builtins['list'] = tuple
def f(): a = [1, 2] b = 2 print "before call g()!a = {}, b={}".format(a, b) g() print "after call g()!a = {}, b={}".format(a, b) c = list([3, 4]) print c
f()before call g()!a = [1, 2], b=2caller's local namespace: {'a': [1, 2], 'b': 2}after call g()!a = [100, 2], b=2(3, 4)> 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到python-cn+unsubscribe@googlegroups.com。
> 要发帖到此群组,请发送电子邮件至python-cn@googlegroups.com。
> 要查看更多选项,请访问https://groups.google.com/d/optout。
--
邮件来自: `CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
详情: http://code.google.com/p/cpyug/wiki/CpyUg
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
---
您收到此邮件是因为您订阅了 Google 网上论坛的“python-cn(华蟒用户组,CPyUG 邮件列表)”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到python-cn+unsubscribe@googlegroups.com。
要向此群组发帖,请发送电子邮件至 pyth...@googlegroups.com。
要查看更多选项,请访问 https://groups.google.com/d/optout。
--
邮件来自: `CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
详情: http://code.google.com/p/cpyug/wiki/CpyUg
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
---
您收到此邮件是因为您订阅了Google网上论坛上的“python-cn(华蟒用户组,CPyUG 邮件列表)”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到python-cn+unsubscribe@googlegroups.com。
要发帖到此群组,请发送电子邮件至python-cn@googlegroups.com。
要查看更多选项,请访问https://groups.google.com/d/optout。
def g2():
nonlocal a, b, list
a[0] = 100区别就是g()可以动态的设置 a, b, list 。而nonlocal是关键字,需要写死在代码里。
b = 4
list = tuple
> 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到python-cn+unsubscribe@googlegroups.com。
> 要发帖到此群组,请发送电子邮件至python-cn@googlegroups.com。
> 要查看更多选项,请访问https://groups.google.com/d/optout。
--
邮件来自: `CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
详情: http://code.google.com/p/cpyug/wiki/CpyUg
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
---
您收到此邮件是因为您订阅了 Google 网上论坛的“python-cn(华蟒用户组,CPyUG 邮件列表)”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到python-cn+unsubscribe@googlegroups.com。
要向此群组发帖,请发送电子邮件至 pyth...@googlegroups.com。
要查看更多选项,请访问 https://groups.google.com/d/optout。
--
邮件来自: `CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
详情: http://code.google.com/p/cpyug/wiki/CpyUg
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
---
您收到此邮件是因为您订阅了Google网上论坛上“python-cn(华蟒用户组,CPyUG 邮件列表)”群组中的主题。
要退订此主题,请访问https://groups.google.com/d/topic/python-cn/bJHTBI9vhwc/unsubscribe。
要退订此群组及其所有主题,请发送电子邮件到python-cn+unsubscribe@googlegroups.com。
--
邮件来自: `CPyUG`华蟒用户组(中文Python技术邮件列表)
规则: http://code.google.com/p/cpyug/wiki/PythonCn
详情: http://code.google.com/p/cpyug/wiki/CpyUg
严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
---
您收到此邮件是因为您订阅了Google网上论坛上的“python-cn(华蟒用户组,CPyUG 邮件列表)”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到python-cn+unsubscribe@googlegroups.com。