as you've seen in many of the examples used so far in this bookwhen you run an assignment statement such as in pythonit works even if you've never told python to use the name as variableor that should stand for an integer-type object in the python languagethis all pans out in very natural wayas followsvariable creation variable ( name)like ais created when your code first assigns it value future assignments change the value of the already created name technicallypython detects some names before your code runsbut you can think of it as though initial assignments make variables variable types variable never has any type information or constraints associated with it the notion of type lives with objectsnot names variables are generic in naturethey always simply refer to particular object at particular point in time variable use when variable appears in an expressionit is immediately replaced with the object that it currently refers towhatever that may be furtherall variables must be explicitly assigned before they can be usedreferencing unassigned variables results in errors in sumvariables are created when assignedcan reference any type of objectand must be assigned before they are referenced this means that you never need to declare names used by your scriptbut you must initialize names before you can update themcountersfor examplemust be initialized to zero before you can add to them this dynamic typing model is strikingly different from the typing model of traditional languages when you are first starting outthe model is usually easier to understand if you keep clear the distinction between names and objects for examplewhen we say this to assign variable valuea assign name to an object at least conceptuallypython will perform three distinct steps to carry out the request these steps reflect the operation of all assignments in the python language create an object to represent the value create the variable aif it does not yet exist link the variable to the new object the net result will be structure inside python that resembles figure - as sketchedvariables and objects are stored in different parts of memory and are associated by links (the link is shown as pointer in the figurevariables always link to objects and never to other variablesbut larger objects may link to other objects (for instancea list object has links to the objects it contains the dynamic typing interlude