我应该将符号称为"|"?管道或位运算符

Ass*_*sin -4 python naming operator-keyword

请看以下内容:

def update_page_info(url):
    # fetch_page -> parse_page -> store_page
    chain = fetch_page.s(url) | parse_page.s() | store_page_info.s(url)
    chain()

@app.task()
def fetch_page(url):
    return myhttplib.get(url)

@app.task()
def parse_page(page):
    return myparser.parse_document(page)

@app.task(ignore_result=True)
def store_page_info(info, url):
    PageInfo.objects.create(url=url, info=info)
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 5

你有一个管道字符(更准确地称为垂直条字符),当在表达式中使用时称为二进制位运算符:

|运营商产生了按位(含)以上的它的参数,它必须是整数.

运算符可以通过__or__特殊方法挂钩,这是SQLAlchemy用于构建查询的方法,如示例代码中所示(与布尔or运算符相反,由于其短路行为而无法挂钩).

  • @NM:在表达式`a | 中 b`,Python 查找 `type(a).__or__` 并调用它,传入 `b`(如果存在)。这允许对象改变操作符的处理方式(也有一个反向的“__ror__”,如果“type(a).__or__”不存在或返回“NotImplemented”,也会尝试“type(b).__ror__” )。 (2认同)