receives mixing positional and arbitrary arguments if you want function to accept several different kinds of argumentsthe parameter that accepts an arbitrary number of arguments must be placed last in the function definition python matches positional and keyword arguments first and then collects any remaining arguments in the final parameter for exampleif the function needs to take in size for the pizzathat parameter must come before the parameter *toppingsdef make_pizza(size*toppings)"""summarize the pizza we are about to make ""print("\nmaking str(size"-inch pizza with the following toppings:"for topping in toppingsprint("toppingmake_pizza( 'pepperoni'make_pizza( 'mushrooms''green peppers''extra cheese'in the function definitionpython stores the first value it receives in the parameter size all other values that come after are stored in the tuple toppings the function calls include an argument for the size firstfollowed by as many toppings as needed now each pizza has size and number of toppingsand each piece of information is printed in the proper placeshowing size first and toppings aftermaking -inch pizza with the following toppingspepperoni making -inch pizza with the following toppingsmushrooms green peppers extra cheese using arbitrary keyword arguments sometimes you'll want to accept an arbitrary number of argumentsbut you won' know ahead of time what kind of information will be passed to the function in this caseyou can write functions that accept as many key-value pairs as the calling statement provides one example involves building user profilesyou know you'll get information about userbut you're not sure what kind of information you'll receive the function build_profile(in the