小编Sta*_*czo的帖子

按位或“ |” 与加号“ +”在Python中为2的正幂

让我们考虑一下这种特殊情况,在这种情况下我想传递一组某些对象的状态。为了方便和灵活(或任意),我选择使用二进制状态,然后将这些状态使用按位或“ |”连接 在我通过它们之前:

status_a = 0b1
status_b = 0b10
status_c = 0b100

statuses_to_pass = status_a | status_c  # 0b101
Run Code Online (Sandbox Code Playgroud)

然后我意识到,在这种情况下,我也可以使用加法算术运算符“ +”:

status_a | status_c == status_a + status_c  
#             0b101 == 0b101  -->  True
Run Code Online (Sandbox Code Playgroud)

当然,当状态为2的正幂时,情况就是这样。还有一些其他警告,例如:

status_a | status_c | status_c == status_a + status_c + status_c  
#                        0b101 == 0b1001  -->  False
Run Code Online (Sandbox Code Playgroud)

但是,让我们假设我处于限制范围之内-是否有任何理由使按位运算符比算术运算符更好?Python背后有东西吗?哪一个更快?也许还有其他我没有想到的副作用?

python bitwise-operators

7
推荐指数
2
解决办法
299
查看次数

pylatex 添加水平线

如果我有一个使用 pylatex 设置的简单文档...

import pylatex as pl

geometry_options = {
    "head": "1pt",
    "margin": "0.2in",
    "bottom": "0.2in",
    "includeheadfoot": False}

doc = pl.Document(geometry_options=geometry_options)

doc.append("text")
Run Code Online (Sandbox Code Playgroud)

...如何在文本块后添加一定粗细的黑色水平分隔线?

python latex pylatex

2
推荐指数
1
解决办法
661
查看次数

标签 统计

python ×2

bitwise-operators ×1

latex ×1

pylatex ×1