django viewflow中并列符号的使用
我一直无法理解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
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