python中的变量赋值

所有的赋值其实都是把一个变量指向一个内存位置,这个内存位置里储存着数据。

list、dict、set三个可变对象的变其实是数据的变化。
对于不可变类型,你同样的可以把它重新赋值,但是其实指向的就是另一个内存空间,原来那个空间的数据没有变化。
而索引其实已经指向了一个内存位置,因此改变的其实是数据而不是变量。
比如有一个list[],我们将其赋值给a
a = []
然后a其实是可以改变的,重新指向一个str或者int之类的,a = ‘'
但是如果是a[i]则相当于改变了i这个索引位置的数据,因此如果是tuple类型,那么你就不可以改,比如一个tuple(),b=()
b = ‘'是可以的
b[i]= ..则不可以

>>> a = 'adafs'
>>> b = a
>>> b
'adafs'
>>> c = b
>>> c
'adafs'
>>> b = '132'
>>> c
'adafs'
>>> ```

b = [1,2]
c = b
b[0]=2
c
[2, 2]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 2,030评论 0 1
  • 目录1 数据类型1.1 整数1.2 浮点数1.3 字符串1.4 布尔值1.5 空值None1.6 列表list1....
    hufengreborn阅读 1,535评论 0 2
  • 最近在慕课网学习廖雪峰老师的Python进阶课程,做笔记总结一下重点。 基本变量及其类型 变量 在Python中,...
    victorsungo阅读 1,970评论 0 5
  • 本教程基于Python 3,参考 A Byte of Python v1.92(for Python 3.0) 以...
    yuhuan121阅读 3,428评论 1 6
  • Retrofit 实际上并不能说是一个网络请求框架,它其实是对 okHttp 这个网络请求框架在接口层面的封装,网...
    EmanLu阅读 1,196评论 0 2

友情链接更多精彩内容