It is more about breaking a general principle of not mixing executable stuff and non-executable stuff. I have written more about it here.
https://news.ycombinator.com/item?id=10063637
>its optional to use explicit variables for clarity
I don't think it is optional. If it was optional, then the behavior would be to interpolate from local variables by default, and do them selectively if an argument list is provided.
So someone, in the past, thought about this and decided that it is best to always require an explicit list of variables for interpolation.
This pep is trying to undo that decision. Why? What was the reason to always require an explicit list of variables? Didn't they think that it would be convenient to automatically interpolate from locals? What was it that made them decide against it? Isn't that reason still relevant?
Without answering these questions, I think it is not wise to continue with this pep.