一   is   与   ==   区别

==    比较            比较的是值

例如:

 a = 'alex'
b = 'alex'
print(a == b) #True a = 10
b = 10
print(a == b) #True a = [1,2,3]
b = [1,2,3]
print(a == b) #True a = {1:2,'':'b'}
b = {1:2,'':'b'}
print(a == b) #True

总结:== 可以比较任何字类型, 字符串, 列表, 数字, 元组 ,字典

id()   查看内存地址   内存地址可变

 a = 'alex'
print(id(a)) # n = 10
print(id(n)) # n = [1,2,3]
print(id(n)) #

总结:   id()    返回的是内存地址        所有的类型都有内存地址

is    是比较     比较的是内存地址                     小数据池

 # 字符串
a = 'alex'
b = 'alex'
print(a is b) #True
# 数字
a = 10
b = 10
print(a is b) #True a = -5
b = -5
print(a is b) #True a = -6
b = -6
print(a is b) #False a = 257
b = 257
print(a is b) #False 在终端上显示 a = 'alex@'
b = 'alex@'
print(a is b) #False 在终端上显示 a = 'a' * 20
b = 'a' * 20
print(a is b) #True a = 'a' *21
b = 'a' *21
print(a is b) #False a = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
b = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
print(a is b) #True

总结:     数字小数据池的范围是   -5 ~256

    字符串中如果有特殊字符他们的内存地址就不一致
    字符串中单个*20以内的数他们的内存地址一致,单个*20以上内存地址就不一致

在python中一般的字符串都是会被缓存的. 为了节约内存

a = "alex@wusir"

b = "alex@wusir"

print(id(a), id(b))

 # 列表
lis = [1,2,3]
lis1 = [1,2,3]
print(lis is lis1) #False # 元组
tu = (1,2,3,4)
tu1 = (1,2,3,4)
print(tu is tu1) #False # 字典
dic = {1:'a','f':2}
dic1 = {1:'a','f':2}
print(dic is dic1) #False

总结:  字典  ,元组  ,列表  内存地址都不一致

编码与解码

重点

encode(编码方式)---------------拿到明文编码后对应的字节

decode(解码方式)---------------将编码后的字节解码成对应的明文

注意 :  用什么进行编码就用什么进行解码          不然会懵逼

例题

 cars = ["鲁A12345","鲁B12345", "沪B45678", "黑A12345", "黑A12345","黑A12355","黑A12655"]
locals = {"鲁": "山东", "沪": '上海', "黑": '黑龙江'}
dic = {}
for ca in cars:
s = ca[0] # 获取车牌简称
sheng = locals[s] # 根据车牌简称获取字典中value 并赋值
#开始计数g
if dic.get(sheng) == None: #如果获取当前位置,找不到车辆
dic[sheng] = 1 #直接计数 , 然后添加字典value
else:
dic[sheng] = dic[sheng] + 1 # 对车牌数量进行统计, 累加更value
print(dic)

Python 中的 is 和 == 编码和解码的更多相关文章

  1. 在Java中如何进行BASE64编码和解码

    在Java中如何进行BASE64编码和解码 //在Java中如何进行BASE64编码和解码 package me.xzh.study.sun.misc.BASE64; import sun.misc. ...

  2. javascript中的Base64.UTF8编码与解码详解

    javascript中的Base64.UTF8编码与解码详解 本文给大家介绍的是javascript中的Base64.UTF8编码与解码的函数源码分享以及使用范例,十分实用,推荐给小伙伴们,希望大家能 ...

  3. Python2/3的中、英文字符编码与解码输出: UnicodeDecodeError: 'ascii' codec can't decode/encode

    摘要:Python中文虐我千百遍,我待Python如初恋.本文主要介绍在Python2/3交互模式下,通过对中文.英文的处理输出,理解Python的字符编码与解码问题(以点破面). 前言:字符串的编码 ...

  4. python bytes和bytearray、编码和解码

    str.bytes和bytearray简介 str是字符数据,bytes和bytearray是字节数据.它们都是序列,可以进行迭代遍历.str和bytes是不可变序列,bytearray是可变序列,可 ...

  5. PHP对Url中的汉字进行编码和解码

    有的新手朋友们对于url编码解码这个概念,或许有点陌生.但是如果这么说,当我们在浏览各大网页时,可能发现有的url里有一些特殊符号比如#号,&号,_号或者汉字等等,那么为了符合url的规范,存 ...

  6. python中的循环和编码,运算符, 格式化输出

    1.while循环 现在让我们来看看python中的while循环  格式为 while 条件 循环体 (break) (continue) 中断循环的关键字有break和continue, brea ...

  7. 在LoadRunner中进行Base64的编码和解码

    <Base64 Encode/Decode for LoadRunner>这篇文章介绍了如何在LoadRunner中对字符串进行Base64的编码和解码: http://ptfrontli ...

  8. Python is 和 == 的区别, 编码和解码

    一.is 和 == 的区别 is : 进行比较,比较的是内存地址是否一致 ==:进行比较,比较的是值是否相等 1.小数据池: 数字小数据池范围 -5~256 字符串中如果有特殊字符则他们的内存地址不一 ...

  9. 在 Java 中如何进行 BASE64 编码和解码

    BASE64 编码是一种常用的字符编码,在很多地方都会用到.JDK 中提供了非常方便的 BASE64Encoder 和 BASE64Decoder,用它们可以非常方便的完成基于 BASE64 的编码和 ...

随机推荐

  1. Oracle归档模式与非归档模式设置

    (转自:http://www.cnblogs.com/spatial/archive/2009/08/01/1536429.html) Oracle的日志归档模式可以有效的防止instance和dis ...

  2. java中商业数据计算时用到的类BigDecimal和DecimalFormat

    1.引言 借用<Effactive Java>这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确 ...

  3. 版本工具管理之----git

    如何查看隐藏文件夹: 如果你看不到.git目录,你需要让隐藏的文件可见.具体做法就是打开一个Terminal窗口,输入以下命令: defaults write com.apple.finder App ...

  4. FlashDevelop安装配置

    1.下载 FlashDevelop,flash sdk,flash sdk debug,.net framework,java sdk(32位,不管机器是多少位,否则不能单步调试的) 2.  安装Fl ...

  5. Js中分号使用总结

    作者:尤雨溪链接:https://www.zhihu.com/question/20298345/answer/49551142来源:知乎著作权归作者所有,转载请联系作者获得授权. 没有应该不应该,只 ...

  6. SVN的详细简单操作

    SVN服务器搭建和使用(一)  http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html SVN服务器搭建和使用(二) ht ...

  7. Win7系统64位环境下使用Apache——Apache2.4整合Tomcat与mod_jk

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/70398091 本文出自[我是干勾鱼的博客] 之前的几篇文章: Win7系统64位 ...

  8. 数据结构之最小生成树Prim算法

    普里姆算法介绍 普里姆(Prim)算法,是用来求加权连通图的最小生成树算法 基本思想:对于图G而言,V是所有顶点的集合:现在,设置两个新的集合U和T,其中U用于存放G的最小生成树中的顶点,T存放G的最 ...

  9. 【eclipse新增系列】eclipse新安装设计编码统一

  10. 封装Socket.BeginReceive/EndReceive以支持Timeout

    Socket .NET中的Socket类提供了网络通信常用的方法,分别提供了同步和异步两个版本,其中异步的实现是基于APM异步模式实现,即BeginXXX/EndXXX的方式.异步方法由于其非阻塞的特 ...