码迷,mamicode.com
首页 > 编程语言 > 详细

Python 引用 赋值

时间:2015-07-31 12:20:15      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

 

1)a是引用,指向(标注)一段连续的内存区域,内容是 1,2

    b是引用,指向一段连续的内存区域,内容是另一个引用。后者指向当时a所指向的东西,也就是那块内容为1,2的内存区域。

    a被重定向,指向另一个内存区域,内容是4,5

2)a是引用,指向(标注)一段连续的内存区域,内容是 1,2   

  b是引用,指向一段连续的内存区域,内容是另一个引用。后者指向当时a所指向的东西,也就是那块内容为1,2的内存区域。

    a所指向的内存区域的某一块内容被改变(  a[ 1 ]=7  )

    由于b内存放的这个引用,跟a指向的是同一块,因此b内的引用所指向的内容也被改变

3)str是不可变类型,就像 int, float 那样。str是被保存为数组的形式,因此可以切片,像myStr[1:5], myStr[3]这样。但是不可以部分赋值:myStr[2]=‘4‘。

如果改变其内容,会重新分配内存( 考虑效率问题 ):

技术分享

 

另一方面,像数组这样的可变类型,改变其内容是不会重新分配内存的:

技术分享

 

当然,如果是要重新赋值,肯定会重新分配内存:

技术分享

 

 

Python 引用 赋值

标签:

原文地址:http://www.cnblogs.com/acetseng/p/4691616.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!