所以我遇到了令我惊讶的python行为,我无法理解它为什么会起作用。 有人可以解释下面的代码剪切行为吗? (它只是为了展示让我感到困惑的东西)。Python - 分配令人惊讶的行为
from typing import List
def check_if_one_is_in_list(list_of_ints: List[int]=None):
if list_of_ints and 1 in list_of_ints:
one_in_list = True
else:
one_in_list = False
return one_in_list
print(check_if_one_is_in_list(list(range(0,10))))
# Output: True
print(check_if_one_is_in_list([2,3,4]))
# Output: False
print(check_if_one_is_in_list([]))
# Output: False
print(check_if_one_is_in_list())
# Output: False
def check_if_ine_is_in_list_wh00t(list_of_ints: List[int]=None):
one_in_list = list_of_ints and 1 in list_of_ints
return one_in_list
print(check_if_ine_is_in_list_wh00t(list(range(0,10))))
# Output: True
print(check_if_ine_is_in_list_wh00t([2,3,4]))
# Output: False
print(check_if_ine_is_in_list_wh00t())
# Output: None
#WHY?!
print(check_if_ine_is_in_list_wh00t([]))
# Output: []
#WHY?!
我希望第二个功能也返回真/假声明,没有空数组..