to worry about correctly ordering your arguments in the function calland they clarify the role of each value in the function call let' rewrite pets py using keyword arguments to call describe_pet()def describe_pet(animal_typepet_name)"""display information about pet ""print("\ni have animal_type "print("my animal_type "' name is pet_name title("describe_pet(animal_type='hamster'pet_name='harry'the function describe_pet(hasn' changed but when we call the functionwe explicitly tell python which parameter each argument should be matched with when python reads the function callit knows to store the argument 'hamsterin the parameter animal_type and the argument 'harryin pet_name the output correctly shows that we have hamster named harry the order of keyword arguments doesn' matter because python knows where each value should go the following two function calls are equivalentdescribe_pet(animal_type='hamster'pet_name='harry'describe_pet(pet_name='harry'animal_type='hamster'note when you use keyword argumentsbe sure to use the exact names of the parameters in the function' definition default values when writing functionyou can define default value for each parameter if an argument for parameter is provided in the function callpython uses the argument value if notit uses the parameter' default value so when you define default value for parameteryou can exclude the corresponding argument you' usually write in the function call using default values can simplify your function calls and clarify the ways in which your functions are typically used for exampleif you notice that most of the calls to describe_pet(are being used to describe dogsyou can set the default value of animal_type to 'dognow anyone calling describe_pet(for dog can omit that informationdef describe_pet(pet_nameanimal_type='dog')"""display information about pet ""print("\ni have animal_type "print("my animal_type "' name is pet_name title("describe_pet(pet_name='willie'