Sudip Kafle Sudip Kafle - 6 months ago 43
Python Question

Define functions with too many arguments to abide by PEP8 standard

I have defined a function with a long list of arguments. The total characters in definition is above 80 and doesn't abide by PEP8.

def my_function(argument_one, argument_two, argument_three, argument_four, argument_five):

What can be the best approach to avoid horizontal scrolling.


An example is given in PEP 8:

class Rectangle(Blob):

    def __init__(self, width, height,
                 color='black', emphasis=None, highlight=0):

So that is the official answer. Personally I detest this approach, in which continuation lines have leading whitespace that doesn't correspond to any real indentation level. My approach would be:

class Rectangle(Blob):

    def __init__(
        self, width, height,
        color='black', emphasis=None, highlight=0

. . . or just let the line run over 80 characters.