arguments explored the details behind python' scopes--the places where variables are defined and looked up as we learnedthe place where name is defined in our code determines much of its meaning this continues the function story by studying the concepts in python argument passing--the way that objects are sent to functions as inputs as we'll seearguments ( parametersare assigned to names in functionbut they have more to do with object references than with variable scopes we'll also find that python provides extra toolssuch as keywordsdefaultsand arbitrary argument collectors and extractors that allow for wide flexibility in the way arguments are sent to functionand we'll put them to work in examples argument-passing basics earlier in this part of the booki noted that arguments are passed by assignment this has few ramifications that aren' always obvious to newcomerswhich 'll expand on in this section here is rundown of the key points in passing arguments to functionsarguments are passed by automatically assigning objects to local variable names function arguments--references to (possiblyshared objects sent by the caller--are just another instance of python assignment at work because references are implemented as pointersall arguments arein effectpassed by pointer objects passed as arguments are never automatically copied assigning to argument names inside function does not affect the caller argument names in the function header become newlocal names when the function runsin the scope of the function there is no aliasing between function argument names and variable names in the scope of the caller changing mutable object argument in function may impact the caller on the other handas arguments are simply assigned to passed-in objectsfunctions can change passed-in mutable objects in placeand the results may affect the caller mutable arguments can be input and output for functions