python字符串不可改变怎么理解_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字符串不可改变怎么理解_python的“不可变性”代表了什么?相关推荐
- python字符串以什么标志结束_python字符串结束符
python字符串结束符的更多内容_CSDN博客 2016-05-22 python 字符串末尾换行符处理 - qiqiaiairen的博客 - CSDN博... 找到以"imooc"开头和结尾的字符 ...
- python字符串常量有什么区别_Python经典面试题:is与==的区别
is用于判断两个对象是否为同一个对象,具体来说是两个对象在内存中的位置是否相同. python为了提高效率,节省内存,在实现上大量使用了缓冲池技术和字符串intern技术. 整数和字符串是不可变对象, ...
- python字符串之查找与替换_Python字符串操作(查找,替换,分割和连接)方法及其使用...
str 提供了如下常用的执行查找.替换等操作的方法: startswith():判断字符串是否以指定子串开头. endswith():判断字符串是否以指定子串结尾. find():查找指定子串在字符串 ...
- python字符串倒数第三个_python字符串常用方法
python 字符串常用操作方法 python 字符串操作常用操作,如字符串的替换.删除.截取.赋值.连接.比较.查找.分割等 1.去除空格 str.strip():删除字符串两边的指定字符,括号的写 ...
- python 字符串find方法怎么用_Python字符串find()方法
Python字符串find()方法确定字符串str是出现在字符串中,还是在字符串指定范围的子串中,子字符串是由给给定起始索引beg和结束索引end切片得出. 语法 以下是find()方法的语法 - s ...
- python字符串函数的find方法_python字符串的方法与操作大全
一:字符串的方法与操作 *注意:首字母为l的为从左边操作,为r的方法为从右边操作 1.__contains__()判断是否包含 判断指定字符或字符串是否包含在一个字符串内,返回值为true或者fals ...
- python中的引用怎么理解_python 引用和对象理解
今天浏览博客的时候看到这么一句话: python中变量名和对象是分离的:最开始的时候是看到这句话的时候没有反应过来.决定具体搞清楚一下python中变量与对象之间的细节.(其实我感觉应该说 引用和对象 ...
- python字符串中某个字符修改_Python中修改字符串的四种方法
在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符. 因此改变一个字符串的元素需要新建一个新的字符串. 常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用joi ...
- python装饰器的通俗理解_python装饰器的通俗理解
在学习Python的过程中,我相信有很多人和我一样,对Python的装饰器一直觉得很困惑,我也是困惑了好久,并通过思考和查阅才能略有领悟,我希望以下的内容会对你有帮助,我也努力通过通俗的方式使得对Py ...
最新文章
- 数据分析索引总结(上)Pandas单级索引
- 一文读懂:完整的支付系统整体架构
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建
- C/C++函数名修饰约定
- Java工作笔记-类型转换的一种思路(前后端分离、反射)
- eclipse-indigo 中 user libraries 自动部署 WEB-INF/lib 配置
- python 自动打开登陆应用编码_Python+tkinter模拟“记住我”自动登录实例代码
- 灯火阑珊处,都市夜归人
- java 函数式编程应用_java8 函数式编程应用
- 像距为什么要大于焦距?
- 查看电脑(服务器)ip地址与名称
- 腾讯云双十一云服务器配置表汇总
- 权限管理后端篇(一)之创建权限管理表引入knife4j和Druid数据源
- Material Design 之Style(三)
- BZOJ 2565 最长双回文串 Manacher
- Git教程-帮助开发人员更好的运用Git | 云效
- 有趣的微积分历史——wsdchong
- cv2.contourArea函数详解
- oracle账户别名,Oracle的别名
- TGA--数据压缩第二次作业
热门文章
- 《一》Java EE
- vue-cli入门之项目结构分析
- SPOJ371 Boxes(最小费用最大流)
- FTP初始化文件.netrc使用技巧[转发]
- 嵌入式成长轨迹52 【Zigbee项目】【CC2430基础实验】【在PC用串口收数并发数】...
- 【AS3代码】正则表达式的各种用法和小实例
- director 3d tank
- CentOS下PostgreSQL 主从实现之异步流复制(Hot Standby)
- 内网穿透反向代理应用 xfrp
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句 (以后在写SQL时,要有这种思想!!!)