移位和二元按位运算符适用于布尔参数

2024-01-06

Python 文档转移操作 http://docs.python.org/3.3/reference/expressions.html#shifting-operations and 二进制按位运算 http://docs.python.org/3.3/reference/expressions.html#binary-bitwise-operations说参数必须是整数,但是下面的表达式计算没有错误,但是给出了奇数结果<< and >>.

我还应该在其他地方寻找文档吗&等等,当使用布尔参数时,或者对评估和结果有一些很好的解释吗?

  • 真与假:假(“bool”类)
  • 真实|假:真(类“bool”)
  • True ^ False:True(类“bool”)
  • ~ 真:-2(类“int”)
  • ~ 假:-1(类“int”)
  • 假 >> 假:0(类“int”)

Code:

# Python ver. 3.3.2

def tryout(s):
    print(s + ':', eval(s), type(eval(s)))

tryout('True & False')
tryout('True | False')
tryout('True ^ False')
tryout('~ True')
tryout('~ False')
tryout('True << True')
tryout('False >> False')

bool http://docs.python.org/3.3/library/functions.html#bool是一个子类int,因此他们are整数。特别是True表现得像1 and False表现得像0.

注意bool only重新实现&, | and ^(来源:源代码位于Objects/boolobject.c http://hg.python.org/cpython/file/6ec43643c54f/Objects/boolobject.c#l92在Python源代码中),对于所有其他操作的方法int被使用[实际上:继承],因此结果是ints 和语义是整数的语义。

关于<< and >>, 表达方式True << True相当于1 << 1 i.e. 1 * 2 == 2, while False >> False is 0 >> 0, i.e. 0 * 1 == 0.

你应该认为 python 的True and False as 1 and 0对它们进行算术运算时。重新实施&, | and ^ only 影响返回类型 http://hg.python.org/cpython/file/6ec43643c54f/Objects/boolobject.c#l57,而不是语义。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

移位和二元按位运算符适用于布尔参数 的相关文章

  • 没有任何元数据的 zip 文件

    我想找到一种简单的方法来压缩一堆文件 而无需任何文件元数据 例如时间戳 这zip命令似乎总是保留元数据 我没有找到禁用元数据的方法 我希望解决方案是一个命令或最多一个 python 脚本 谢谢 正如一些帖子已经指出的那样 zip 标头中的大
  • 在Python3.6中调用C#代码

    由于完全不了解 C 编码 我希望在我的 python 代码中调用 C 函数 我知道有很多关于同一问题的问答 但由于一些奇怪的原因 我无法从示例 python 模块导入简单的 c 类库 以下是我所做的事情 C 类库设置 我使用的是 VS 20
  • on_delete=models.PROTECT 和 on_delete=models.CASCADE 在 Django 模型上有什么作用?

    我对 Django 很熟悉 但最近注意到有一个on delete models CASCADE and on delete models PROTECT模型的选项 on delete models CASCADE and on delete
  • 如何确定非阻塞套接字是否真正连接?

    这个问题不仅限于Python 这是一个一般的套接字问题 我有一个非阻塞套接字 想要连接到一台可访问的机器 在另一端 该端口不存在 为什么 select 仍然成功 我预计会超时 sock send 因管道损坏而失败 select 之后如何确定
  • python - 是否可以扩展 xml-rpc 可以序列化的事物集?

    我看到几个问题询问如何发送numpy ndarray通过 xml rpc 调用 这不能开箱即用 因为正如 xml rpc 中所述docs https docs python org 2 library xmlrpclib html 有一组固
  • 在python中将文本文件解析为列表

    我对 Python 完全陌生 我正在尝试读取包含单词和数字组合的 txt 文件 我可以很好地读取 txt 文件 但我正在努力将字符串转换为我可以使用的格式 import matplotlib pyplot as plt import num
  • 如何使用Python将WebP图像转换为Gif?

    我已经尝试过这个 from PIL import Image im Image open this webp im save that gif gif save all True 这给了我这个错误 类型错误 不支持的操作数类型 tuple
  • Python BeautifulSoup XML 解析

    我编写了一个简单的脚本来使用 BeautifulSoup 模块解析 XML 聊天日志 标准 soup prettify 工作正常 只是聊天日志中有很多绒毛 您可以在下面看到我正在使用的脚本代码和一些 XML 输入文件 Code import
  • 如果字段值在外部列表中,Django 会注释布尔值

    想象一下我有这个 Django 模型 class Letter models Model name models CharField max length 1 unique True 还有这个列表 vowels a e i o u 我想查询
  • sudo pip install python-Levenshtein 失败,错误代码 1

    我正在尝试在 Linux 上安装 python Levenshtein 库 但每当我尝试通过以下方式安装它时 sudo pip install python Levenshtein 我收到此错误 命令 usr bin python c 导入
  • 如何使用 python urllib 在 HTTP/1.1 中保持活力

    现在我正在这样做 Python3 urllib url someurl headers HOST somehost Connection keep alive Accept Encoding gzip deflate opener urll
  • 创建一个类似于 Tkinter 的表

    我希望创建类似于 Tkinter 中的表格的东西 但它不一定是这样的 例如 我想创建标题 Name1 Name2 Value 并在每个标题下面有几个空白行 然后 我希望稍后用我计算的值或名称的字符串值填充这些行 因此是标签 对于 Name2
  • matplotlib matshow 标签

    我一个月前开始使用 matplotlib 所以我仍在学习 我正在尝试用 matshow 制作热图 我的代码如下 data numpy array a reshape 4 4 cax ax matshow data interpolation
  • 在可编辑的QSqlQueryModel中实现setEditStrategy

    这是后续这个问题 https stackoverflow com questions 49752388 editable qtableview of complex sql query 在那里 我们创建了 QSqlQueryModel 的可
  • 无法截取宽度为 0 的屏幕截图

    我正在尝试截取 Bootstrap 模态内元素的屏幕截图 经过一番努力 我终于想出了这段代码 driver get https enlinea sunedu gob pe driver find element by xpath div c
  • 如何有效地从 loadmat 函数生成的嵌套 numpy 数组中提取值?

    python中是否有更有效的方法从嵌套的python列表中提取数据 例如A array array 12000000 dtype object 我一直在使用A 0 0 0 0 当你有很多像 A 这样的数据时 这似乎不是一个有效的方法 我也用
  • 在 MacO 和 Linux 上安装 win32com [重复]

    这个问题在这里已经有答案了 我的问题很简单 我可以安装吗win32com蟒蛇API pywin32特别是 在非 Windows 操作系统上 我一直在Mac上尝试多个版本pip install pywin32 都失败了 下面是一个例子 如果你
  • 如何在与应用程序初始化文件不同的文件中迭代 api 路由

    我有一个 apiroutes py 文件 其中定义了许多路由 例如 api route api read methods GET api route api write methods POST 其中 api 是导入 from import
  • Scipy 稀疏 Cumsum

    假设我有一个scipy sparse csr matrix代表下面的值 0 0 1 2 0 3 0 4 1 0 0 2 0 3 4 0 我想就地计算非零值的累积和 这会将数组更改为 0 0 1 3 0 6 0 10 1 0 0 3 0 6
  • 如何在sphinx中启用数学?

    我在用sphinx http sphinx pocoo org index html与pngmath http sphinx pocoo org ext math html module sphinx ext pngmath扩展来记录我的代

随机推荐

  • 如果记录存在否则插入如何更新sqlite表?

    这可能是重复的问题 但我很困惑 因为我是 sql 的新手 android 正在从服务器获取响应 如果表中的值已存在 则需要将其保存在 sqlite 数据库中更新 否则插入 il 检查任务 id 这是唯一的不知道如何为了做到这一点 我已经搜索
  • Dotnet 发布未将 DLL 发布到发布目录

    我想发布我的自包含 NET Core 2 2 应用程序 但是一个特定的 NuGet 包 Microsoft Management Infrastructure 从未发布到publish文件夹 因为 dll 文件不存在 我正在使用命令dotn
  • Android 从数据库获取数据

    我有一个可以从数据库检索用户数据的页面 但经过一整天的尝试 我只能获取表列名称 但无法获取其中的值 这是我创建数据库的代码 public static final String LASTLOGIN lastuser public stati
  • 为什么 CakePHP 身份验证组件不散列我的密码?

    我在用着CakePHP http en wikipedia org wiki CakePHP1 2 具有 Auth 和 ACL 组件 在我的用户注册操作中 密码未经过哈希处理 具体来说 这个表达式 if this gt data User
  • 按下按钮时加 1

    我的代码很长 所以我只会添加相关的片段 好的 我一直在尝试使用以下代码将标签增加 1 btnComplete setOnAction new EventHandler
  • 字符串到变量名称 MATLAB

    例如 如果我有一个变量 xa 2 然后我通过连接 x 和 a 构造一个字符串 如何使这个新字符串的值为 2 xa 2 var strcat x a 这样的结果是var xa 但我想要的是var 2 谢谢 Use eval var eval
  • 种子 Python RNG 显示集合的非确定性行为

    当尝试从集合中选择伪随机元素时 我看到了非确定性行为 即使 RNG 已播种 示例代码如下所示 为什么会发生这种情况 我是否应该期望其他 Python 数据类型也显示类似的行为 注意 我只在 Python 2 7 上对此进行了测试 但它可以在
  • 在多 GPU 系统中,如何将 OpenCL 设备与给定 PCI 供应商、设备和总线 ID 的特定 GPU 相匹配?

    我希望能够在由 PCI ID 标识的多 GPU 系统上将 OpenCL 设备与系统中的 GPU 进行匹配 例如 如果我的系统具有多个 GPU 可能来自不同的供应商 我可以通过枚举 PCI 总线来列出设备 这为我提供了 PCI 供应商 设备和
  • 什么是 CMAKE_BUILD_TYPE:调试、发布、RelWithDebInfo 和 MinSizeRel?

    来自文档页面 https cmake org cmake help latest variable CMAKE BUILD TYPE html CMAKE BUILD TYPE 指定单配置生成器的构建类型 这静态指定将在此构建树中构建什么构
  • 使用 UrlRewriter.NET 的外部配置文件

    我正在使用网址重写器 NET http urlrewriter net为我的 asp net 网站实现 url 重写的库 目前正在从以下位置读取重写规则web config像这样的文件
  • 想要用java查找两个文本文件的内容差异

    我有两个文本文件 a txt b txt 每个文本文件都包含一些文件路径 b txt包含的文件路径多于a txt 我想确定添加哪些路径以及从中删除哪些路径a txt以便它对应于路径b txt 例如 abc txt 包含 E Users Do
  • 在 OS X Yosemite 上安装 Compass

    我正在尝试使用 GEM 安装指南针 但出现很多错误 我的 MacBook Pro 运行的是 OS X Yosemite 有人有同样的问题吗 感谢您的时间 祝你今天过得愉快 sudo gem install compass Password
  • 从 Gridfs 读取 chunk 并转换为 Buffer

    我有一个关于缓冲区的问题 这是我的代码 var Grid require gridfs stream var mongodb require mongodb var gfs Grid db mongodb var deferred Q de
  • WPF使用Canvas作为ImageSource

    我是 WPF 新手 正在尝试构建一个带有工具栏和图标的基本应用程序 我正在测试 Infragistics 的 XamRibbon 和ButtonTool功能区上显示的要求ImageSource显示这样的图像
  • 将 Microsoft 调试器与 Xamarin Android 结合使用

    Android 项目设置中有一个选项安卓选项部分关于包装选项卡可让您在 Xamarin 调试器或 Microsoft 调试器之间进行选择 Xamarin 调试器可以工作 但不如 Microsoft 的调试器好 不幸的是 当我尝试使用 Mic
  • 格式化掷骰子输出 Java

    我创建了一个代码 用户输入掷骰子的次数 然后程序输出面孔值 每张面孔出现的次数以及每张面孔出现的百分比频率 我必须使用 System out printf 来格式化输出 我的问题是 每当我输入超过 9 的卷时 我的输出格式就会完全丢失 这是
  • Java中HashMap的字面声明[重复]

    这个问题在这里已经有答案了 In JavaScript 您可以声明 a 的所有键和值组合JSON一次性对象如下 var myJSON key1 value 1 key2 value 2 key3 value 3 key4 value 4 k
  • 初学者 URL 重写 htaccess

    我只想重写来自以下位置的所有请求 http example com products product cfm id product name to http example com products product name 其次 http
  • Netbeans 和 MinGW-w64

    我正在尝试在 win7 64 位上配置我的 NetBeans 以与 MinGW w64 一起使用 所以我将编译器的以下路径放入 PATH 变量中 C mingw w64 bin i686 mingw binC minGw MSYS msys
  • 移位和二元按位运算符适用于布尔参数

    Python 文档转移操作 http docs python org 3 3 reference expressions html shifting operations and 二进制按位运算 http docs python org 3