Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django viewflow中并列符号的使用_Django_Parentheses_Django Viewflow - Fatal编程技术网

django viewflow中并列符号的使用

django viewflow中并列符号的使用,django,parentheses,django-viewflow,Django,Parentheses,Django Viewflow,我一直无法理解django viewflow代码中括号的用法。 例如,在下面的代码中 start = ( flow.Start(views.StartView) .Permission('shipment.can_start_request') .Next(this.split_clerk_warehouse) ) # clerk split_clerk_warehouse = ( flow.Split() .Next(this.shipment_typ

我一直无法理解django viewflow代码中括号的用法。 例如,在下面的代码中

start = (
    flow.Start(views.StartView)
    .Permission('shipment.can_start_request')
    .Next(this.split_clerk_warehouse)
)

# clerk
split_clerk_warehouse = (
    flow.Split()
    .Next(this.shipment_type)
    .Next(this.package_goods)
)

似乎一个包含函数的元组被分配给start和split_clerk_warehouse e.t.c.这意味着什么。根据我的猜测,
.Next
函数似乎接受一个元组作为输入

注意我确实理解这里使用的链接方法。我只是不明白大括号的用法


谢谢。

如果我理解正确,您会想知道外括号有什么用

让我们先写出(第一个,但适用于第二个)不带外括号的陈述:

start = flow.Start(views.StartView).Permission('shipment.can_start_request').Next(this.split_clerk_warehouse)
这与示例中的代码完全相同。但你可能同意这是很难理解的。它需要用户滚动代码,而且它是一个长字符链,没有任何结构。程序员将很难理解它,特别是如果以后我们在调用的参数中也使用括号的话

因此,或许可以这样写:

start = flow.Start(views.StartView).
             Permission('shipment.can_start_request').
             Next(this.split_clerk_warehouse)
括号内的所有内容都属于同一个表达式,因此Python将忽略新行

请注意,元组文字也使用括号。例如:

()              # empty tuple
(1, )           # singleton tuple (one element)
(1, 'a', 2, 5)  # 4-tuple

但是这里我们需要在一个单元组的末尾写一个逗号,或者在多个元素之间写一个逗号,逗号的
(空元组除外)。

不,外括号只允许适当的缩进。@Willem Van Onsem,python是如何允许的。我认为python是空间缩进的。我也可以在我的代码中的其他地方使用它。这正是原因:因为Python是为空间而设计的。这让我大吃一惊。你是说外括号不是在元组中实例化函数@WillemVanOnsemno,对于单元组,需要一个尾随逗号,对于2元组或更多元组,应该有逗号,但这里没有逗号,只有点,用于属性访问。
start = (
    flow.Start(views.StartView)
    .Permission('shipment.can_start_request')
    .Next(this.split_clerk_warehouse)
)
()              # empty tuple
(1, )           # singleton tuple (one element)
(1, 'a', 2, 5)  # 4-tuple