python的“不可变性”代表了什么?

在python中,每一个对象都可以分为不可变性或者可变性。

不可变性可以用来保证在程序中保持一个对象的固定不变。

一个具有“不可变性”的对象,是一个在其创建以后不能够被改变的对象。例如,不能通过对字符串的某一位置进行赋值而改变字符串。

Python中的数字、字符串、元组是不可变的;列表和字典可以完全自由地改变。

尽管无法就地改变一个不可变的对象,但是可以通过运行一个表达式创建一个新的对象。例如,可以通过创建一个新的字符串,并以相同的变量名进行赋值:

str = 'bukebian'

str[0:2] = ''

Traceback (most recent call last):

 File "file.py", line 3, in

str[0:2] = ''

TypeError: 'str' object does not support item assignment

str = 'ok'

print(str)

ok

此时,变量str指向了新的对象'ok',曾指过的对象'bukebian'没有发生任何变化,仍旧在其原来的内存空间。只有一种情况会出现,那就是被python清理掉,条件是其他变量都没有引用(指向)它。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本教程基于Python 3,参考 A Byte of Python v1.92(for Python 3.0) 以...
    yuhuan121阅读 3,159评论 1 6
  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 1,791评论 0 1
  • 原文链接 《Python数据分析》(Python for Data Analysis, 2nd Edition)第...
    李绍俊阅读 8,590评论 0 5
  • 个人笔记,方便自己查阅使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik阅读 67,787评论 0 5
  • 桃杏一杯羹 散尽美人心 何苦 暮尽春风曲 谪仙乘鹤寻 何哉 只待生花墨尽时 到河西 ...
    霄生花阅读 390评论 0 1