пытаясь понять, python логическое работает в функции - PullRequest
0 голосов
/ 14 марта 2020

У меня очень простая программа и условие основаны на логическом

init_test_func(True, False)

def init_test_func(param_a, param_b):
  if param_a:
    do something here
init_test_func(param_a, param_b)

в конце моей функции, я снова вызываю init_test_fun c и возвращаю то же значение для param_a и param_b с True и False.

после 2-го запуска, условие проверки param_a не вводится. Поскольку param_a имеет значение True, но после второго выполнения он больше не входит в условие. интересно почему?

Ответы [ 2 ]

0 голосов
/ 17 марта 2020

Я решил эту проблему, похоже, моя проблема с logi c, которая вызывает недоразумение о том, как работает локальная переменная для логического значения.

0 голосов
/ 14 марта 2020

что происходит, так это то, что область действия param_a находится только внутри вашей функции, за пределами этого значения, вероятно, None, поэтому оператор if считает это False. вы можете попытаться снова ввести значения во второй вызов, или вы можете поместить второй вызов внутри функции, что приведет к бесконечной рекурсии. init_test_func(True, False) def init_test_func(param_a, param_b): if param_a: do something here init_test_func(param_a, param_b)

...