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