- Tìm số 0 đầu tiên trong một mảng bit
- Unix Hiển thị thông tin về các tập tin khớp với một trong hai mẫu
- Biểu thức chính quy thay thế nhiều tệp
- Ẩn lệnh từ xtrace
我对 Python 如何计算 bool 语句感到困惑。
Ví dụ
False and 2 or 3
返回 3
这是如何评估的?我认为 Python 首先会查看“False and 2”,甚至不查看“or 3”就返回 False。 Python 在这里看到的顺序是什么?
另一个是:
1 or False and 2 or 2 and 0 or 0
返回 1
根据我从第一个示例中收集到的信息,我认为 Python 会从左到右求值,因此“1 or False”会返回 1,然后“1 and 2”会返回 2,然后“2 or 2”会返回第一个 2,然后 '2 and 0' 将返回 0,然后 '0 or 0' 将返回第二个 0。
如你所知,我在这里很困惑,请帮忙!
Cảm ơn!
1 Câu trả lời
Và
的优先级高于 hoặc
.
False and 2 or 3
被评估为
((False and 2) or 3)
由于第一部分 (False and 2)
Đúng SAI
,Python 必须评估第二部分以查看整个条件是否仍然可以变为 ĐÚNG VẬY
或不。它可以,因为 3
的计算结果为 ĐÚNG VẬY
,因此返回此操作数。
类似于 1 or False and 2 or 2 and 0 or 0
被评估为
(1 or ((False and 2) or ((2 and 0) or 0)))
由于 1
的计算结果为 ĐÚNG VẬY
,因此无论其他操作数的值是什么,整个条件都将为 ĐÚNG VẬY
。 Python 可以在此时停止计算并再次返回确定最终值的操作数。
在确定最终结果时尽早停止称为short-circuit evaluation可以描述如下:
每当确定表达式的最终结果时,计算就会停止,并且在 Python 中返回确定最终值的操作数的值。也就是说,假设是从左到右的评估:
Và
运算符,计算结果为 SAI
的最左边的操作数(或最后一个)hoặc
运算符,计算结果为 ĐÚNG VẬY
(或最后一个)的最左边的操作数
关于python - bool 运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10474882/
我有一个带有列的表提供者 implied(tiny int)(something like nullable bool) provi
我正在阅读 VideoFileWriter来自 AForge.Video.FFMPEG 的类(class)通过 ILSPY 组装(我很想看看特定方法是如何工作的)并发现了这个: public bool
这是我的完整代码... import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import
我有一个输入 list类型 [Maybe SomeType]和一个谓词 p类型 SomeType -> Bool ,我想回答这个问题“谓词 p 是否适用于所有碰巧在输入中的 SomeType ?”。
使用 !!x 有什么区别吗?对比(bool)x ? 假设__STDC_VERSION__ >= 199901L和 #include 他们都保证结果是0吗?或 1 ,并且无论 x 的大小和值如何,都不
我正在编写一些 C++ 代码,我想调用两个函数(checkXDirty 和 checkYDirty),并返回 true如果任一返回 true。即使一个返回 true 我也需要评估两者,所以我的第一个想
我注意到 bool在 QtCreator 中以不同于其他类型的颜色突出显示: 只有在包含某些 header 时才会发生这种情况,最终我将其追踪到 . QtCreator 的代码检查器似乎无法手动跟踪
有一个函数: func (first: Int) -> Int -> Bool -> String { return ? } 返回值怎么写?我对上面 func 的返回类型感到很困惑。 最
训练神经网络学习“异或” 我正在尝试使用“批量归一化”,我创建了一个批量归一化层函数“batch_norm1”。 import tensorflow as tf import nump
我已经创建了任务函数来验证我的 json 文件。一切正常,直到我没有使用结果。当我试图从 async task function 获得结果时它显示错误为 Cannot implicitly conve
我有一个函数 func login (parameters: [(String, Any)], completion: @escaping (Bool) -> Vo
我正在处理最近从 X/Motif 转移到 Qt 的 C++ 代码库。我正在尝试编写一个 Perl 脚本,它将用 bool 替换所有出现的 Boolean(来自 X)。该脚本只是做了一个简单的替换。 s
嗨,我正尝试创建一个Visiblity小部件,如果用户在Firebase数据库阵列上,该小部件将显示。看起来像这样(成员数组): 如您所见,我创建了一个StreamBuilder,如果当前用户的用户名
我创建了如下的rest api方法, Future activateAccount(int id, int code) async{ final body = {"code": '$c
在我的Flutter应用中,我有一个返回Future的函数,但我想将结果作为Stream。这是函数: Future isGpsOn() async { if (await Geolocat
我可以看到 BOOLEAN 覆盖了 __visit_name__ class BOOLEAN(Boolean): __visit_name__ = 'BOOLEAN' 控制调度员选择的访问者方
考虑以下代码: bool x; bool? y = null; x = y?? true; 将 bool? 分配给 bool 是一个编译时错误,但上面的代码在编译和运行时都成功了。为什么?尽管第三条语
Tôi đang viết lại một số mã Javascript để hoạt động trong Excel VBA. Nhờ tìm kiếm trên trang web này, tôi đã dịch được hầu hết mã Javascript! Tuy nhiên, có một số mã mà tôi không hiểu chính xác nó đang làm gì. Đây là một
我想拍一张bool来自Vec并在 if 语句中进行比较。如何解决以下错误? | 7 | if cell { | ^^^^ expected
我在我的应用程序崩溃跟踪工具中发现了一些崩溃。基本上我有一个 tabBarController,其中一个选项卡有一个嵌入式 UIWebView,另一个选项卡有一个带有 UITableView 的 Co
Tôi là một lập trình viên xuất sắc, rất giỏi!