'11' + '1' is '111'?
metal
metal29a at gmail.com
Thu Oct 29 21:13:51 EDT 2009
On 10月30日, 上午9时03分, Benjamin Peterson <benja... at python.org> wrote:
> metal <metal29a <at> gmail.com> writes:
>
>
>
> > '11' + '1' == '111' is well known.
>
> > but it suprises me '11'+'1' IS '111'.
>
> > Why? Obviously they are two differnt object.
>
> > Is this special feature of imutable object?
>
> As other posters have pointed out, CPython does cache some small strings. In
> this case, however, it's because '1' + '11' is constant folded.
You are right. It's not cache, just constant folding, but it does not
propagate further.
a = '1'
a+a is not a+a
More information about the Python-list
mailing list