title: Cost of calling str() on a string?
body: <p>What is the cost (if any) of calling the <code>str</code> function on an object that is already a string? The use case here is to normalize an array of objects of different types and convert them into string, naively it can be implemented like so:</p>
  
  <pre><code>def arr_2_strarr(arr):
      return [str(val) for val in arr]
  </code></pre>
  
  <p>But if the <code>str()</code> causes too much overhead, and my <code>arr</code> contains primarily strings, I may consider using:</p>
  
  <pre><code>def arr_2_strarr2(arr):
      return [str(val) if not isinstance(val, basestring) else val for val in arr]
  </code></pre>
  
  <p>Any suggestions? </p>