我可以在一行中对多个变量使用 += 吗?
Can I use += on multiple variables on one line?
在缩短我的代码时,我将一些变量声明缩减到一行 -
##For example- going from-
Var1 =15
Var2 = 26
Var3 = 922
##To-
Var1, Var2, Var3 = 15, 26, 922
然而,当我尝试对这段代码做同样的事情时-
User_Input += Master_Key[Input_ref]
Key += Master_Key[Key_ref]
Key2 += Master_Key[Key_2_Ref]
##Which looks like-
User_Input, Key, Key2 += Master_Key[Input_Ref], Master_Key[Key_Ref], Master_Key[Key_2_Ref]
这会引发错误
SyntaxError: illegal expression for augmented assignment
我已经阅读了 relevant Python documentation,但我仍然找不到缩短这段代码的方法。
不,你不能。您不能将扩充赋值与多个目标一起使用。
您可以在链接到的 Augmented assignment statements section 中看到:
augmented_assignment_stmt ::= augtarget augop (expression_list | yield_expression)
augtarget ::= identifier | attributeref | subscription | slicing
augtarget
规则只允许一个目标。将此与 Assignment statements rules 进行比较:
assignment_stmt ::= (target_list "=")+ (expression_list | yield_expression)
target_list ::= target ("," target)* [","]
target ::= identifier
| "(" target_list ")"
| "[" target_list "]"
| attributeref
| subscription
| slicing
你有一个 target_list
规则要分配给。
我根本不会尝试缩短它;尝试将扩充的作业压缩到一行中不会提高可读性或对正在发生的事情的理解。
在缩短我的代码时,我将一些变量声明缩减到一行 -
##For example- going from-
Var1 =15
Var2 = 26
Var3 = 922
##To-
Var1, Var2, Var3 = 15, 26, 922
然而,当我尝试对这段代码做同样的事情时-
User_Input += Master_Key[Input_ref]
Key += Master_Key[Key_ref]
Key2 += Master_Key[Key_2_Ref]
##Which looks like-
User_Input, Key, Key2 += Master_Key[Input_Ref], Master_Key[Key_Ref], Master_Key[Key_2_Ref]
这会引发错误
SyntaxError: illegal expression for augmented assignment
我已经阅读了 relevant Python documentation,但我仍然找不到缩短这段代码的方法。
不,你不能。您不能将扩充赋值与多个目标一起使用。
您可以在链接到的 Augmented assignment statements section 中看到:
augmented_assignment_stmt ::= augtarget augop (expression_list | yield_expression) augtarget ::= identifier | attributeref | subscription | slicing
augtarget
规则只允许一个目标。将此与 Assignment statements rules 进行比较:
assignment_stmt ::= (target_list "=")+ (expression_list | yield_expression) target_list ::= target ("," target)* [","] target ::= identifier | "(" target_list ")" | "[" target_list "]" | attributeref | subscription | slicing
你有一个 target_list
规则要分配给。
我根本不会尝试缩短它;尝试将扩充的作业压缩到一行中不会提高可读性或对正在发生的事情的理解。