named willie now we have hamster named harry and dog named williei have hamster my hamster' name is harry have dog my dog' name is willie calling function multiple times is very efficient way to work the code describing pet is written once in the function thenanytime you want to describe new petyou call the function with the new pet' information even if the code for describing pet were to expand to ten linesyou could still describe new pet in just one line by calling the function again you can use as many positional arguments as you need in your functions python works through the arguments you provide when calling the function and matches each one with the corresponding parameter in the function' definition order matters in positional arguments you can get unexpected results if you mix up the order of the arguments in function call when using positional argumentsdef 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('harry''hamster'in this function call we list the name first and the type of animal second because the argument 'harryis listed first this timethat value is stored in the parameter animal_type likewise'hamsteris stored in pet_name now we have "harrynamed "hamster" have harry my harry' name is hamster if you get funny results like thischeck to make sure the order of the arguments in your function call matches the order of the parameters in the function' definition keyword arguments keyword argument is name-value pair that you pass to function you directly associate the name and the value within the argumentso when you pass the argument to the functionthere' no confusion (you won' end up functions