现在是时候谈谈另一个听起来比实际情况更令人困惑的话题了｡
这很简单｡
短路看起来像这样｡
还记得我教你这个词吗？
所以我们可以使用｡
比方说, 是朋友｡
等于真, 假设用户等于真.
我可以在这里做一个表达式, 说是朋友和用户｡
在这里, 当我们运行这个的时候, 让我们把它打印出来, 这样我们就可以看到了｡
如果我运行这个｡
我得到true是因为这两个值都是true｡
所以如果我有这个假设｡
我们假设它是朋友, 是用户.
打印永远的好朋友｡
短路可以用Awe来实现, 我们以前没见过｡
但是, 你可以看到它在这里用蓝色突出显示｡
所以它是一个关键字, 一个python关键字, 或者说如果这两个条件中的任何一个为真, 那么运行这段代码｡
所以如果我运行这个｡
我有永远的好朋友｡
现在, 让我问你这个｡
您认为哪种操作性能更好？
还是结局？
有区别吗？
事实上, 有短路的缘故｡
你看, 当我这样做或在这里, 因为我只关心如果这两个是真的｡
Python解释器会说if｡
是朋友｡
它会评估这个结果, 然后说, 哦, 这是这是真的｡
然后它会看到“或”这个词, 它会说, 嘿, 我不在乎这是什么｡
也许这是一个非常沉重的行动或什么, 我需要查｡
好吧, 我真的不在乎, 因为这已经是事实了｡
不管这是真是假, 我真的不在乎｡
因为不管怎样, 我都得把这个登出来｡
如你所见, 它仍然打印最好的朋友永远｡
因此, 当解释器足够聪明地说, 我已经做了足够多的工作时, 短路就发生了｡
我不在乎这是什么｡
如果我去做的话, 这只是白费力气｡
所以我会短路, 然后说, 嘿, 我会忽略这个, 我会开始打印｡
所以使用或会更有效率｡
但同样, 这取决于你需要什么｡
如果你需要检查, 如果既是朋友又是用户都是真的, 你就必须使用end｡
但这对和也是双向的｡
例如, 如果它的朋友是假的, 它就会短路,
因为我会说, 嘿, 如果它的朋友是假的, 我真的不在乎用户是什么, 因为这两个不可能都是真的｡
我已经看出其中一个是假的｡
所以我要忽略这个, 我要打印这个｡
当我说I的时候, 我指的是我们的老朋友, Python解释器｡
在Python初学者的课程中, 并没有真正教授过短路这个话题, 但是如果你听到这个,
也许你在面试中听到过｡
正如你所看到的, 这听起来比实际要困难得多｡
坦白说, 这很有道理, 对吧？
我们希望我们的机器是高效的, 由于短路, 它是相当高效的｡
下次见｡
再见, 再见, 再见