Should I add a trailing comma after the last argument in a function call? [closed]

There’s no technical reason to avoid trailing commas in function calls, but some people might find them distracting. Some may wonder: Hmmm, is that comma supposed to be there?

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",
 )

Leave a Comment

tech