# arbitrary numbers of arguments. def add(*args): return sum(args) print(""" def add(*args): return sum(args) """) print(f"add(1,2,3,4,5): {add(1,2,3,4,5)}") print(f"add(10,2,3,4,5,6,7): {add(10,2,3,4,5,6,7)}") def multiplied_sum(*numbers, multiplier=1): total_sum = sum(numbers) return total_sum * multiplier print(""" def multiplied_sum(*numbers, multiplier=1): total_sum = sum(numbers) return total_sum * multiplier """) print(f"multiplied_sum(1,2,3,4,multiplier=5): {multiplied_sum(1,2,3,4,multiplier=5)}") print(f"multiplied_sum(1,2,3,4,5): {multiplied_sum(1,2,3,4,5)}") def area(*, width, length): return width * length print(""" def area(*, width, length): return width * length """) print(f"area(width=2,length=3): {area(width=2,length=3)}") print( """ print(f"area(2,3): {area(2,3)}") TypeError: area() takes 0 positional arguments but 2 were given """ )