试图了解python布尔函数的功能

问题描述 投票:0回答:1

我有一个非常简单的基于布尔值的程序和条件

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_func,并使用True和False传递相同的param_a和param_b值。

第二次运行后,没有输入验证param_a的条件。由于param_a为True,但在第二次执行后,它将不再进入条件。想知道为什么?

function boolean boolean-logic
1个回答
0
投票
发生的情况是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)
© www.soinside.com 2019 - 2024. All rights reserved.