python中的tuple不是immutable (tuple in python is not immutable)


There are lots of article to say that tuple in pyton in immutable, but after my test, this is not true.


Please see the example:

Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
>>> L = [1,2,3]

# define a typle
>>> dd = tuple(L)

# print all methods of tuple
>>> print dir(dd)
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__
format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__get
slice__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__
lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__'
, '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count
', 'index']
>>> print dd
(1, 2, 3)
>>> dd.__add__("a")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate tuple (not "str") to tuple

# Note, tuple is changed.
>>> dd.__add__(dd)
(1, 2, 3, 1, 2, 3)
>>>


 

相关内容

    暂无相关文章

评论关闭