def test1():
a = 1
b = 2
def test2():
c = 3
d = c + a
print(d)
test2
这边想实现下面的test2调用上面test1里面的数据,要怎么实现,使用的是python3
哈哈,都是人才,闭包、封类、明确返回,以上每一个都是独立的解决办法。
可以让test1用return来返回a和b的值:def test1():
a = 1
b = 2
return a,b
def test2():
c = 3
a,b = test1()
d = c + a
print(d)
test2()
可以将test1封装为一个类#-*-coding:utf8-*-
class test1():
"""docstring for test1"""
def __init__(self):
self.a=0
self.b=0
self.test1()
def test1(self):
self.a=1
self.b=2
test = test1()
def test2():
c=3
d=c+test.a
print (d)
test2()
初始化可以放在你想调用的位置,并且在初始化的时候默认调用了test1()方法,这样就可以通过类的对象访问数据了。
首先,你这种需求是不可能且不合理的,两个分立的函数不可能相互访问里面的变量的
如果用闭包倒是可以做到,不过不知道是不是你想要的:def test1():
a = 1
b = 2
def test2():
c = 3
d = c + a
print(d)
return test2
test2 = test1()
test2()
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd14078.html
相关文章 Recommend