在外部函数中设置变量 [英] setting variables in outer functions
问题描述
鉴于以下内容:
def outer(arg)
avar =''''
def inner1(arg2)
#我怎样才能在这里设置''avar''
--------------------- ----------------
这个sig致力于推动核电的发展
Tommy Nordgren
************ @ comhem.se
Tommy Nordgren写道:
鉴于以下内容:
def outer(arg)
avar =''''
def inner1(arg2)
#我如何设置''avar '' 这里 ?
尝试这个......对我有用......也许不适合你?
def outer(avar = False ):
打印avar
如果avar ==真:
返回
def inner( avar = True):
打印avar
返回avar
外(内())
>
outer()
Tommy Nordgren< to ************ @ comhem.sewrites:
< blockquote class =post_quotes>
给出以下内容:
def outer(arg)
avar =''''
def inner1(arg2)
#如何在这里设置''avar''?
我不认为你可以,直到Python 3:
http://www.python.org/dev/peps/pep-3104/
目前(丑陋的)解决方案是将变量赋值更改为
对象变异:
def outer(arg)
avar = ['''']
#使用avar [0]你通常会使用avar
def inner1(arg2)
#通过设置avar来修改avar的值[0]
在29 okt 2007,在21.59,brad写道:
Tommy Nordgren写道:
>鉴于以下内容:
def outer(arg)
avar =''''
def inner1(arg2)
#我怎么能在这里设置''avar''?
试试这个......对我有用......也许不适合你?
def outer(avar = False ):
打印avar
如果avar ==真:
返回
def inner( avar = True):
打印avar
返回avar
外(内())
>
outer()
-
http://mail.python.org/mailman/listinfo/python-list
这不是解决此问题的一般方法。
但是,(我只是想到它)是有效的:
def outer(arg):
adict = { }
def inner1(arg):
adict [''avar''] =''something''
#now设置的值by inner1可用于其他嵌套函数
------
你抛弃她的女人是什么,炉火和
家庭英亩,
与老灰寡妇制造商一起去。 --Gipling,竖琴的歌曲
Dane女士
Tommy Nordgren
到************ @ comhem.se
Given the following:
def outer(arg)
avar = ''''
def inner1(arg2)
# How can I set ''avar'' here ?
-------------------------------------
This sig is dedicated to the advancement of Nuclear Power
Tommy Nordgren
to************@comhem.se
Tommy Nordgren wrote:Given the following:
def outer(arg)
avar = ''''
def inner1(arg2)
# How can I set ''avar'' here ?Try this... works for me... maybe not for you?
def outer(avar=False):
print avar
if avar == True:
return
def inner(avar=True):
print avar
return avar
outer(inner())
outer()
Tommy Nordgren <to************@comhem.sewrites:
Given the following:
def outer(arg)
avar = ''''
def inner1(arg2)
# How can I set ''avar'' here ?I don''t think you can, until Python 3:
http://www.python.org/dev/peps/pep-3104/
Currently the (ugly) solution is to change variable assignment to
object mutation:
def outer(arg)
avar = ['''']
# use avar[0] where you''d normally use avar
def inner1(arg2)
# modify the value of avar by setting avar[0]
On 29 okt 2007, at 21.59, brad wrote:
Tommy Nordgren wrote:>Given the following:
def outer(arg)
avar = ''''
def inner1(arg2)
# How can I set ''avar'' here ?
Try this... works for me... maybe not for you?
def outer(avar=False):
print avar
if avar == True:
return
def inner(avar=True):
print avar
return avar
outer(inner())
outer()
--
http://mail.python.org/mailman/listinfo/python-listThis is not a general solution to this problem.
What works, though, (I just thought of it) is to do the following:
def outer(arg):
adict = {}
def inner1(arg):
adict[''avar''] = ''something''
#now the value set by inner1 is available to other nested functions
------
What is a woman that you forsake her, and the hearth fire and the
home acre,
to go with the old grey Widow Maker. --Kipling, harp song of the
Dane women
Tommy Nordgren
to************@comhem.se
这篇关于在外部函数中设置变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!