Back

Explore Courses Blog Tutorials Interview Questions
0 votes
4 views
in Python by (45.3k points)

What is better to do?

self.call(1, True, "hi")

or

self.call(1, True, "hi",)

And what in the following cases:

self.call(

    1,

    True,

    "hi"

)

or

self.call(

    1,

    True,

    "hi",

)

?

Reasons for adding a trailing comma in data structures are familiar to me, but what about function calls?

1 Answer

0 votes
by (16.8k points)

I think there's no technical reason to avoid trailing commas in function calls, but some people probably do find them distracting. Some may stop and say:

"Hmmm, I wonder if that's really supposed to be there?"

I hesitate to call this a benefit, but one effect of using trailing commas in conjunction with an indented style is to make version control diffs look a little bit cleaner when adding an argument.

For example, a function like this:

def my_fun(a, b, c=None):

    ...

...called like this:

my_fun(

    a='abc',

    b=123

)

...then changed to this:

my_fun(

    a='abc',

    b=123,

    c='def'

)

produces this diff in git:

$ git diff

...

 my_fun(

     a='abc',

-    b=123

+    b=123,

+    c='def'

 )

Whereas,

my_fun(

    a='abc',

    b=123,

)

changed to...

my_fun(

    a='abc',

    b=123,

    c='def',

)

produces this diff in git:

$ git diff

...

 my_fun(

     a='abc',

     b=123,

+    c='def',

 )

Browse Categories

...