Comme c'est déjà dit, ça peut être nécessaire pour le tuple à 1 élément : var = (a,). Dans les autres cas, c'est autorisé mais ça ne change rien.
Mettre une dernière virgule est licite pour les tuples mais aussi les listes et les dictionnaires, et aussi les appels de fonctions.
Ca se combine d'ailleurs bien avec le fait qu'on puisse faire des retours à la ligne à l'intérieur de (), [] et {} :
ma_liste = [
'machin',
'truc',
'bidule',
'chouette',
]
mon_dict = {
'machin': 1,
'truc': 2,
'bidule': 3,
'chouette': 4,
}
resultat = ma_function(
machin=1,
truc=2,
bidule=3,
chouette=4,
)
Ce qui est sympa ici, c'est que toutes les lignes se ressemblent, pas besoin de penser au fait que la "chouette" est sur la dernière ligne, la dernière virgule ne change rien.
On peut aussi penser aux outils de gestion de version de code (git et autre).
Dans les exemples au dessus, rajouter une ligne ne change pas la ligne du dessus.
ma_liste = [
'machin',
'truc',
'bidule',
'chouette',
'chose', # <= on l'avait oublié, on ne change pas la ligne du dessus
]