布尔运算符有个有趣的特征:只做必要的计算。例如,仅当x和y都为真时,表达式x and y才为真。因此如果x为假,这个表达式将立即返回假,而不关心y。实际上,如果x为假,这 个表达式将返回x,否则返回y。(这将提供预期的结果,你明白了其中的原理吗?)这种行为 称为短路逻辑(或者延迟求值):布尔运算符常被称为逻辑运算符,如你所见,在有些情况下 将“绕过”第二个值。对于运算符or,情况亦如此。在表达式x or y中,如果x为真,就返回 x,否则返回y。(你明白这样做合理的原因吗?)请注意,这意味着位于布尔运算符后面的代 码(如函数调用)可能根本不会执行。像下面这样的代码就利用了这种行为: name = input('Please enter your name: ') or '<unknown>' 如果没有输入名字,上述or表达式的结果将为'<unknown>'。在很多情况下,你都宁愿使 用条件表达式,而不耍这样的短路花样。不过前面这样的语句确实有其用武之地。
三个资料Q群下载不了也转发不了,先放这里Fine_tuning.zipLangChain.zipdata_clear.rar