博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Python学习笔记】再议不可变对象
阅读量:7035 次
发布时间:2019-06-28

本文共 582 字,大约阅读时间需要 1 分钟。

hot3.png

 以最常见的不变对象字符串类型str和可变对象列表list为例

#!/usr/bin/env python#-*- coding:utf-8 -*-# 对于可变对象,对它进行操作,其内容是会变化的a = ['c', 'b', 'a']a.insert(2,'d')a.sort()print a# 对于不可变对象,对它进行操作,其内容是不会变化的b = "abcd"print bd=b.replace('c','C')print dprint b# b是一个变量,"abcd"是它指向对象的内容,a的replace方法其实是作用在它指向对象的内容上的# 对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。# 从内存角度区分:变量,对象,对象的内容# 选择不可变对象作为key很重要,最常用的key是字符串。# tuple是不变对象,但是tuple并不总是可以作为keys = set ((1,2,3))print s# s = set ((1,[2,3]))   # 此处提示报错,因为此时tuple的内容是可变的# print s

运行效果:161622_wfeo_2913386.png

转载于:https://my.oschina.net/MasterLi161307040026/blog/746063

你可能感兴趣的文章
汉字乱码处理
查看>>
使用python 3.x 对pythonchallenge-----15的解答过程
查看>>
Hosts文件
查看>>
使用maven来管理您的java项目
查看>>
05-Scrum敏捷方法中的角色
查看>>
kubernetes是什么
查看>>
ORM数据库实现单表操作示例
查看>>
Docker理解
查看>>
bzoj 1059 二分图匹配
查看>>
简易UDP传输
查看>>
vbs
查看>>
shell 脚本 功能性语句 read,expr,test
查看>>
基础班第一天
查看>>
浅谈单链表与双链表的区别
查看>>
UVA 1452 Jump 约瑟夫环
查看>>
hadoop YARN配置参数剖析—MapReduce相关参数
查看>>
Java架构师之路
查看>>
《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:概述
查看>>
直播编程
查看>>
Java面试题收集以及参考答案(100道)
查看>>