在Python中返回一个布尔值而不是包含True或False的字符串

Mic*_*ael 0 python boolean python-2.7

我有一个小问题TrueFalse布尔值.

我定义了一个weekend以字符串作为输入的过程,并返回布尔值True if 'Saturday' or 'Sunday',False否则返回.

这是我的weekend功能:

def weekend(day):
    if day == 'Saturday' or day == 'Sunday':
        return "True"
    else:
        return "False"
Run Code Online (Sandbox Code Playgroud)

这是我的输出:

>>>print weekend('Monday')
False
>>>print weekend('Saturday')
True
>>>print weekend('July')
False
Run Code Online (Sandbox Code Playgroud)

但正如你在我的代码中看到的,我正在返回一个字符串,但我想返回一个布尔值 True or False.

我怎样才能做到这一点?

谢谢.

Ósc*_*pez 6

试试这个:

def weekend(day):
    if day == 'Saturday' or day == 'Sunday':
        return True
    else:
        return False
Run Code Online (Sandbox Code Playgroud)

或这个:

def weekend(day):
    return day == 'Saturday' or day == 'Sunday'
Run Code Online (Sandbox Code Playgroud)

甚至更简单:

def weekend(day):
    return day in ('Saturday', 'Sunday')
Run Code Online (Sandbox Code Playgroud)

无论如何:在Python中,布尔值是TrueFalse,没有引号 - 但也知道存在几个虚假值 - 也就是说,行为与False在条件中使用时完全相同的值.例如:"",[],None,{},0,().