Why does this piece of code work the way it does?
x = 3
print(dir()) #output indicates that x is defined in the global scope
print(dir()) #output indicates that x is not defined in the global scope
The definition of the
del statemant is:
del_stmt ::= "del" target_list
and from the definition of
target_list ::= target ("," target)* [","]
target ::= identifier | "(" target_list ")" | "[" [target_list] "]" | ...
you can see that parentheses around the list of targets are allowed.
For example, if you define
x,y = 1,2 all of those are allowed and has the same affect:
del x,y, del (x,y) del (x),[y] del [x,(y)] del ([x], (y))