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

时间:2017-09-05 07:54:32

标签: python operator-keyword naming

请看以下内容:

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)

1 个答案:

答案 0 :(得分:5)

你有一个字符管(更准确地称为vertical bar character),在表达式中使用时称为binary bitwise operator

  

|运算符产生其参数的按位(包含)OR,它必须是整数。

运算符可以通过__or__ special method连接,这是SQLAlchemy用于构建查询的内容,如示例代码中所示(与boolean or operator相反,后者无法连接到由于其短路行为)。