Python替代全局变量

时间:2019-06-10 13:12:52

标签: python function variables global

我有一个python项目,其中有一个函数test_function。在test_function内部,我有一个变量a,但我想在另一个名为test_function2的函数中使用它。我不想将a设为全局变量。还有其他办法吗?

def test_function():
    a = "hello"


def test_function2():
    if a == "hello":
        print(a)
    else:
        print("hello world")

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作。以函数作为参数,并以a作为参数进行调用。现在,您可以传递需要将a作为输入的任何函数,而无需将a暴露在test_function之外。

def test_function(func = lambda a : None):
    a = "hello"
    func(a)


def test_function2(a):
    if a == "hello":
        print(a)
    else:
        print("hello world")

test_function(test_function2)

答案 1 :(得分:1)

  

Python返回语句

     

return语句用于从函数返回,即中断   功能的我们可以选择从函数返回一个值,如下所示:   好吧。

of({}).pipe(
    switchMap(data => {
        return ajax({url:"https://httpbin.org/delay/2", crossDomain:true})
              .pipe(effectiveDelay(1000), map(ax=>ax.response) )
    }), tap(display), repeat())
  .subscribe()