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