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