我对Python中的逻辑运算符得到的结果有点困惑.我是一名初学者,正在学习使用几本书,但他们并没有像我想的那样详细解释.
这是我自己的代码:
five = 5
two = 2
print five and two
>> 2
Run Code Online (Sandbox Code Playgroud)
它似乎只是输出两个变量.
five = 5
two = 2
zero = 0
print five and two and zero
Run Code Online (Sandbox Code Playgroud)
所以,我添加了另一个变量整数.然后我打印并得到以下输出:
>> 0
Run Code Online (Sandbox Code Playgroud)
Python在后台发生了什么?为什么输出不是7或5,2.
我正在观看2007年关于高级Python或理解Python的视频,并且在18'27"发言者声称"有些人可能知道在Python中and并or返回两个值中的一个,而not返回总是一个布尔值."这是什么情况下的情况?
据我所知,and并or返回布尔.
我只是想知道" if OR "和" if AND " 内部会发生什么.我有一种感觉,它只是使用语法糖&&,||并且在内部所有情况都构建为单个if语句.
紧凑形式||:
if(a || b || c)
{
DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
潜在的内部形式:
if(a)
{
DoSomething();
}
else if(b)
{
DoSomething();
}
else if(c)
{
DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
紧凑形式&&:
if(a && b && c)
{
DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
潜在的内部形式:
if(a)
{
if(b)
{
if(c)
{
DoSomething();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这两个例子的表现有什么不同吗?
*编辑:将其他内容添加到|| 案件