首页 > 解决方案 > 气流:在位移运算符之前跳过行

问题描述

在 DAG 中设置任务依赖项时,是否可以在 bitfshift 运算符之间换行?

我的 DAG 有 10 个任务,它们都必须按顺序执行,没有并行化。

我想将它们垂直链接到我的代码中,如下所示:

   task_1 \
>> task_2 \
>> task_3 \
>> task_n \

而不是水平:

task_1 >> task_2 >> task_3 >> task_n

我尝试了这个\角色,但没有成功。

谢谢

标签: pythonairflow

解决方案


(据我所知)在 Python 中有两种方法可以做到这一点。第一个是您已经尝试过的反斜杠,第二个是括号。在您的情况下,它看起来像这样:

foo = (task_1 >> task_2 >> task_3 >> task_n)

PEP8 关于最大行长 说:

包装长行的首选方法是在括号、方括号和大括号内使用 Python 的隐含行继续。通过将表达式括在括号中,可以将长行分成多行。这些应该优先使用反斜杠来继续行。

换行时请记住,您的二元运算符(在本例中为 >>)总是出现在语句前面的新行上。这使它更具可读性,例如

foo = variable1 +
      variableThatIsVeryLong -
      var *
      varAverage

对比

foo = variable1
      + variableThatIsVeryLong
      - var
      * varAverage

通过这种方式,读者可以立即清楚使用的是什么运算符。

反斜杠不起作用的一个可能原因可能是它后面有一个空格。


推荐阅读