玩蛇网提供最新Python编程技术信息以及Python资源下载!

python3一当前函数调用另一个函数中的数据怎么实现

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

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月24日 - 17时48分54秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules