学习Python:从另一个函数打印函数内的变量
我想在Python中做以下事情:
def func1():
var1 = "something"
def func2():
print var1
请问我该用什么正确的模式来实现这个呢?我在文档里完全没找到相关信息。
另外,如果可以的话,我并不打算把这个'var1'变成全局变量。
谢谢。
5 个回答
0
你可以试试下面这样的代码:
def func1():
var1 = "something"
return var1
def func2():
print func1()
如果你希望func1做的不仅仅是定义var1,那你可能需要定义一个类并创建对象。可以看看这个链接了解更多:http://docs.python.org/tutorial/classes.html
4
不,这样做是不可能的。这是因为有个叫做“作用域”的东西。你可以选择创建一个模块级的变量,或者把它放在面向对象的结构里。
7
我猜你不想在函数调用之间把变量作为参数传递。通常在函数之间共享状态的方法是定义一个类。虽然对于你的具体问题来说,这可能有点过于复杂,但这样可以让你有一个共享的状态,并且可以更好地管理它:
class C:
def func1(self):
self.var1 = "something"
def func2(self):
print self.var1
foo = C()
foo.func1()
foo.func2()