在外部函数中设置变量 [英] setting variables in outer functions

查看:81
本文介绍了在外部函数中设置变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

鉴于以下内容:

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-list

This 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆