I'd consider this a bug and not expected behavior.
def make_pizza(crust=THIN, toppings=[], cheese=REGULAR, sauce=TOMATO):
// first call: toppings=["peperoni"]
// second call: toppings=["peperoni", "sausage"]
// third call: toppings=["peperoni", "sausage"]
make_pizza(toppings=["peperoni"])
make_pizza(toppings=["sausage"])
make_pizza()