Is using the word function
for the name of an argument considered bad style in Python code?
def conjunction_junction(function):
pass # do something and call function in here
This pattern occurs all the time, especially in decorators. You see func
, fn
and f
used all of the time but I prefer to avoid abbreviations when possible. Is the fact that it's the name of a type enough to warrant abbreviating it?
>> type(conjunction_junction).__name__
'function'
It's not a reserved keyword, so I don't see why not.
From the Style Guide
Using
function
is perfectly fine.There is nothing in the style guide about it specifically. The reason that the use of type names such as
str
andlist
is highly discouraged is because they have functionality within the language. Overwriting them would obscure the functionality of the code.function
on the other hand, does nothing.I suspect
func
,fn
, andf
are used because they are all shorter than typingfunction
;)