Why does PEP 8 recommend not having spaces around
Is this inconsistent with recommending spaces around every other occurrence of
func(1, 2, very_long_variable_name=another_very_long_variable_name)
func(1, 2, very_long_variable_name = another_very_long_variable_name)
I guess that it is because a keyword parameter is essentially different than a variable assignment.
For example, there is plenty of code like this:
kw1 = some calculation here kw2 = some calculation here kw3 = some calculation here some_func(1, 2, kw1=kw1, kw2=kw2, kw3=kw3)
As you see, it makes completely sense to assign a variable to a keyword argument named exactly the same, so it improves readability to see them without spaces. It is easier to recognize that we are using keyword arguments and not assigning a variable to itself.
Also, parameters tend to go in the same line whereas assignments usually are each one in their own line, so saving space is likely to be an important matter there.