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/

10-15 12:56