Suppose I have the following python code:
def outer():
string = ""
def inner():
string = "String was changed by a nested function!"
inner()
return string
I want a call to outer() to return "String was changed by a nested function!", but I get "". I conclude that Python thinks that the line string = "string was changed by a nested function!"
is a declaration of a new variable local to inner(). My question is: how do I tell Python that it should use the outer() string? I can't use the global
keyword, because the string isn't global, it just lives in an outer scope. Ideas?
Question&Answers:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…