在另一个

时间:2016-11-24 19:36:33

标签: python

我在一个类中有两个函数 f1 f2

class Ex():
    def f1(self,a):
        ...

    def f2(self)
        print(a)

ex = Ex()
ex.f1(10)
ex.f2()

我想要的是获取此代码 a ,“10”的输出。 那么,将参数 a f1 “转移”到 f2 然后打印出来的更简单方法是什么?

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点。一种方法是在你的班级制作一个“二传手”:

class Ex():
    a = None # deafult value
    def function_1(self,a):
        Ex.a = a
        ...
    def function_2(self)
        print(Ex.a)

例如:

>>> class foo:
    a = None
    def f(self, a):
        foo.a = a
    def b(self):
        print(foo.a)


>>> f = foo()
>>> f.f(12)
>>> f.b()
12
>>> 

但是,我建议你做的是将function_1()的返回值传递给function_2()

class Ex():
    def function_1(self,a):
        ...
        ...
        return a
    def function_2(self, a)
        print(a)
...
...
ex = Ex()
a = ex.function_1()
ex.function_2(a)