is与==
is和==的区别
1. id()
通过id()我们可以查看到⼀一个变量表示的值在内存中的地址.
a1 = 100
b1 = 100
print(id(a1),id(b1)) #140712472404096, 140712472404096 a2 = 222222222222
b2 = 222222222222
print(id(a2),id(b2)) #2714854086672, 2714854086672 a3 = True
b3 = True
print(id(a3),id(b3)) #140712471869776, 140712471869776 内存地址相同 a4 = "abcdefghijklmnopqrstuvwxyz"
b4 = "abcdefghijklmnopqrstuvwxyz"
print(id(a4),id(b4)) #2230116006848, 2230116006848 内存地址相同 a5 = "abcdefghijklmnopqrstuvwxyz"*3
b5 = "abcdefghijklmnopqrstuvwxyz"*3
print(id(a5),id(b5)) #2234044245808, 2234044245808 内存地址相同 a6 = "uwidsoididoiwqoiewyueiydihbddwowqfewhufdnjcddududfisdygfiuwqiodmcdncduiosiiennxeniionwmwoiwieuruuewuuukskxsniiwhdhi2wuyrtfrvvufioqkq"*3
b6 = "uwidsoididoiwqoiewyueiydihbddwowqfewhufdnjcddududfisdygfiuwqiodmcdncduiosiiennxeniionwmwoiwieuruuewuuukskxsniiwhdhi2wuyrtfrvvufioqkq"*3
print(id(a6),id(b6)) #1998595213104, 1998595213104 内存地址相同 a7 = ["hello""world"]
b7 = ["hello""world"]
print(id(a7),id(b7)) #1915401364040, 1915401364104 内存地址不同 a8 = ("hello","world")
b8 = ("hello","world")
print(id(a8),id(b8)) #2328127912840, 2328127912840 内存地址相同 a9 = {"hello":"你好","world":"世界"}
b9 = {"hello":"你好","world":"世界"}
print(id(a9),id(b9)) #1975585307384, 1975585307456 内存地址不同
注意(一般情况下): 在py文件中. 如果你只是单纯的定义一个字符串. 那么一般情况下都是会被添加到小数据池中的. 我们可以这样认为: 在使⽤用字符串的时候, python会帮我们把字符串进行缓存, 在下次使用的时候直接指向这个字符串即可. 可以节省很多内存.
==: 判断两端的值是否相等
is: 判断两端的内存地址是否相等
a = "who am i"
b = "who am i"
print(id(a),id(b)) #2142885576880, 2142885576880
print(a is b) #True
print(a == b) #True li1 = ["who","am","i"]
li2 = ["who","am","i"]
print(id(li1),id(li2)) #1891093340744, 1891093340808
print(li1 is li2) #False
print(li1 == li2) #True
随机推荐
- 【BZOJ3992】【SDOI2015】序列统计
数论劲啊 原题: 小C有一个集合S,里面的元素都是小于M的非负整数.他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S. 小C用这个生成器生成了许多这样的数列.但是小 ...
- SpringMVC(二)高级
高级参数绑定 1.1. 绑定数组 1.1.1. 需求 在商品列表页面选中多个商品,然后删除. 1.1.2. 需求分析 功能要求商品列表页面中的每个商品前有一个checkbok,选中多个商品后点击删除按 ...
- pread和pwrite函数
先来介绍pread函数 [root@bogon mycode]# cat test.c #include<stdio.h> #include<stdlib.h> #includ ...
- airflow-operator 可以管理airflow 的kuberntes 自定义controller && crd
使用airflow-operator 我们可以让airflow 可以很方便的运行在k8s集群环境中,当前还在开发中 主要分为两部分:airflowbbase && airfowclus ...
- Ubuntu安装时怎样分区
1./swap交换分区,一般为你机器内存的两倍.少于这个容量.系统无法进入休眠. 实质是硬盘上的交换空间而非分区.所以没有格式,默认休眠将数据储存于此 能够取消(如不用swap必须再设定方可休眠)-- ...
- HI3518E平台ISP调试环境搭建
海思的SDK提供了ISP调试的相关工具,降低了IPC的ISP调试的难度.初次搭建ISP调试环境,记录一下. SDK版本:Hi3518_MPP_V1.0.A.0 硬件平台:HI3518E_OV9732 ...
- pip报错解决:EnvironmentError: mysql_config not found
centos7下使用python类库MySQL-python操作mysql.pip安装类库:pip install MySQL-python报错提示:mariadb EnvironmentError: ...
- 关于fit和transform
Fit是对于数据进行拟合,所谓拟合,就是根据数据,计算获得数据里面的一些指标,比如均值,方差:下一步很多API都是需要这些参数来进行后续对数据的操作,比如下面要讲到的transform. Transf ...
- .NET设计模式 第二部分 创建型模式(1)—:单件模式(Singleton Pattern)
单件模式(Singleton Pattern) ——.NET设计模式系列之二 Terrylee,2005年12月07日 概述 Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问 ...
- Hadoop yarn工作流程详解
yarn是什么?1.它是一个资源调度及提供作业运行的系统环境平台 资源:cpu.mem等 作业:map task.reduce Task yarn产生背景?它是从hadoop2.x版本才引入1.had ...