python3 中 is, is not ,==, != 的区别
首先说结论:
1、is, is not 对比的是两个变量的内存地址
2、==,!= 对比的是两个变量的值
由此可以进一步推出:
a、假如比较的两个变量,指向的都是不可变的类型(str, tuple等),那么is,is not 和 ==,!= 是完全等价的。
b、假如对比的两个变量,指向的是不可变得类型(list,dict等),则两者是有区别的。
现分别对这两种情况加以说明:
1、比较的两个变量均指向不可变类型
a="hello"
b="hello"
print(a is b, a==b) # 输出为 True, True
因为"hello" 为str 类型,所以两者指向同一内存地址,故 is 和 == 输出均为 True.
2、比较的两个变量均指向可变类型
a=["hello"]
b=["hello"]
print(a is b, a==b) # 输出为 False, True
虽然两个列表的相同,但是因为列表是可变类型,所以两次赋值的内存地址是不一样的,故 is 输出为False, == 输出为 True.
python3 中 is, is not ,==, != 的区别相关推荐
- python3中sort和sorted的区别详解
sort和sorted的区别 虽然python3中sort()和sorted()都可以用来排序,但二者有以下两个最主要的区别: sort只能应用在列表list上,而sorted可以对所有可迭代的对象进 ...
- print在python2和python3的区别_Python2和Python3中print的不同点
在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异 主要体现在以下几个方面: 1.python3中print是一个内置函数,有多个参数,而pyth ...
- python双除_python2和python3 中的除法的区别
1. python2中有/和//的除法区别: 其中/的用法: >>>1/2 0 即一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分 有时候,这 ...
- Python2和Python3中除法运算符的区别有哪些?你都知道吗?
在Python2中,除法的取值结果取整数 >>>7/3 2 即一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分. 在Python3中,除法/的 ...
- python2 md5库_python版本坑:md5例子(python2与python3中md5区别)
起步 对于一些字符,python2和python3的md5加密出来是不一样的. # python2.7 pwd = "xxx" + chr(163) + "fj" ...
- python中average什么意思_在Python3 numpy中mean和average的区别详解
mean和average都是计算均值的函数,在不指定权重的时候average和mean是一样的.指定权重后,average可以计算一维的加权平均值. 具体如下: import numpy as np ...
- python3中datetime库,time库以及pandas中的时间函数区别与详解
1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Servic ...
- python2和python3中的range区别
python2中的range返回的是一个列表 python3中的range返回的是一个迭代值 for i in range(1,10)在python2和python3中都可以使用,但是要生成1-10的 ...
- python2和python3的区别 print-Python2与Python3中print用法总结
Python2中的print用法 在Python2 中 print 是一种输出语句 strHello = "Hello Python" print strHello # Hello ...
最新文章
- 如何使网站的右键失效
- docker 漏洞测试 靶机环境 靶机平台 vulhub vulapps 简介
- python语法基础知识-python基础知识---简单语法
- 【干货】什么是好的社交产品
- linux中samba详解,详解linux系列之samba的安装及配置
- 蓝天采集器自动化采集发布
- 【java】java 一个线程占用多少内存
- 发现一个很nice的API调试工具
- git的安装和简单使用
- Java语言编程过程
- 通信电子电路实验(一)—— 高频小信号调谐放大器电路设计
- Html注释与Javascript注释的嵌套
- 在Arcgis地图中插入表格
- (收藏)不错的敏捷迭代回顾会步骤
- Sphinx 自动化文档
- String的intern方法
- Cloud 80% 客制化键盘分享,模块拼色设计
- 浏览器插件:脚本注入插件Tampermonkey(油猴)
- [Mysql]查看mysql默认密码
- 使用 qrcodejs2 生成二维码详细API和参数