python3一当前函数调用另一个函数中的数据怎么实现,python3当前,def test1():


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,bdef 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=2test = 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 test2test2 = test1()test2()

编橙之家文章,

评论关闭