Python альтернатива глобальной переменной - PullRequest
0 голосов
/ 10 июня 2019

У меня есть проект 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 ]

1 голос
/ 10 июня 2019

Оператор возврата Python

Оператор возврата используется для возврата из функции, т. Е. Для выхода из функции.Мы также можем вернуть значение из функции.

def test_function():
    a = "hello"
    return a # returns variable a


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

test_function2()
1 голос
/ 10 июня 2019

Вы можете сделать что-то вроде ниже.Возьмите функцию в качестве аргумента и вызовите ее с 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)
...