def valid_month(month):
if month:
cap_month = month.capitalize()
if cap_month in months:
return cap_month
该
if
在第二行中的作用是什么?是否检查是否有参数? 最佳答案
在python中,布尔值上下文中的空字符串,空列表或集合等全为False
,布尔值上下文中的None
也是False
(数字0为False)(即在if语句中使用时) ),检查if month:
,检查month不是None
还是month
不是空字符串(我猜month是字符串,因为您在其上调用capitalize()
)。
仅当month不为空且month不为None时,才会执行if
中的语句。
显示此行为的示例-
>>> s = ''
>>> if not s:
... print("Blah")
...
Blah
>>> s = 'abcd'
>>> if s:
... print("Blah1")
...
Blah1
>>> s = ''
>>> if s:
... print("Will not print")
...
>>> s = None
>>> if s:
... print("Will not print")
Python Truth value testing的参考。
关于python - 如果遵循函数参数,则if的作用是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31376594/