0
mystr = 'abvd'
mysubstring = mystr[1:2]
在上面的代碼中,是否有新的分配完成分配給mysubstring
?從字符串切片分配創建新的實例?
(mysubstring
可以「點」到爲mystr
創建的內存同一塊)
mystr = 'abvd'
mysubstring = mystr[1:2]
在上面的代碼中,是否有新的分配完成分配給mysubstring
?從字符串切片分配創建新的實例?
(mysubstring
可以「點」到爲mystr
創建的內存同一塊)
您可以使用這兩個實例的ID()方法,看看您得到的ID是不同的。
在http://www.pythontutor.com/visualize.html中運行這兩行。您將在全局框架中看到兩個分配。
>>> mystr = 'abvd'
>>> mysubstring = mystr[1:2]
相反:
>>> mystr = ['a', 'b', 'v', 'd']
>>> mysubstring = mystr[1:2]
是的,有一個新的分配。 – nathancahill 2014-11-24 20:41:28
它可以,但如果你要刪除mystr,那麼mysubstring將是'腐敗' – 2014-11-24 20:42:32
退房http://www.pythontutor.com/visualize.html – nathancahill 2014-11-24 20:42:35