Farshid Lashkari wrote: > When I pass an empty string to a function is a new string object created > or does python use some global pre-created object? I know python does > this with integer objects under a certain value. For instance, in the > following code is a new string object created for each function call? > > func(0,'') > func(1,'') > func(2,'') > func(3,'')
In this case, the language implementation may either create new strings or re-use existing ones: for immutable types, operations that compute new values may actually return a reference to any existing object with the same type and value, while for mutable objects this is not allowed. [http://docs.python.org/ref/objects.html] [...] > This leads me to believe that python does reuse existing strings, but > once the variables are removed, does the item still exist in the cache? Either; see the same reference page. -- --Bryan -- http://mail.python.org/mailman/listinfo/python-list