私は驚きの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?!
は、私は2番目の機能はまた、真/偽のステートメントではなく、空の配列を返すことを期待..