I come from a background in static languages. Can someone explain (ideally through example) the real world advantages of using **kwargs over named arguments
MESSAGE = "Lo and behold! A message {message!r} came from {object_} with data {data!r}."
def proclaim(object_, message, data):
print(MESSAGE.format(**locals()))