python里面的==,is的区别
python中对象的三个要素:id(身份标示),type(数据类型)、value(值)
== 比较操作符:用来比较两个对象值是否相等。
is 同一性运算符:比较两个对象的id值是否相等,即是否是同一对象,是否指向同一个内存地址。
补充:当两个对象值相同时,只有其为数值型或字符串型,a is b才为True,当a和b是tuple,list,dict或set型时,a is b为False
变数据类型:列表list和字典dict;可变数据类型,允许变量的值发生变化,即如果对变量进行append、+=等这种操作后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。
不可变数据类型:整型int、浮点型float、字符串型string和元组tuple。不可变数据类型,不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象,而对于相同的值的对象,在内存中则只有一个对象,内部会有一个引用计数来记录有多少个变量引用这个对象
二、python里面set
Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种。
创建集合set、集合set添加、集合删除、交集、并集、差集的操作都是非常实用的方法。
set 是一个无序的元素集合,支持并、交、差及对称差等数学运算, 但由于 set 不记录元素位置,因此不支持索引、分片等类序列的操作。
tuple算是list和str的杂合(杂交的都有自己的优势,上一节的末后已经显示了),那么set则可以堪称是list和dict的杂合.
set拥有类似dict的特点:可以用{}花括号来定义;其中的元素没有序列,也就是是非序列类型的数据;而且,set中的元素不可重复,这就类似dict的键.
set也有一点list的特点:有一种集合可以原处修改.
最新文章
- Python 操作 mongodb 数据库
- Android开发之详解五大布局
- 用minidwep-gtk研究wifi
- hadoop实战之分布式模式
- 解决Win7下打不开chm文件的方法
- git常见问题解决办法
- C++primer学习笔记(一)——Chapter 3
- JavaScript+IndexedDB实现留言板:客户端存储数据
- dataGridView行高自适应
- windows composer安装
- Spring入门学习(二)三种实例化bean的方法
- VPN断开后断网脚本
- redis集群搭建及注意事项
- 顺序栈--Java实现
- mvc约定
- linux服务器解压缩文件的命令
- poj 2503 查字典
- python Django知识点总结
- SpriteBuilder中的粒子系统属性
- Index-技术学习系列博客