一   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. IOS-CoreLocation

    一.简介 在移动互联网时代,移动app能解决用户的很多生活琐事,比如 导航:去任意陌生的地方 周边:找餐馆.找酒店.找银行.找电影院   在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入 ...

  2. day5-python中的序列化与反序列化-json&pickle

    一.概述 玩过稍微大型一点的游戏的朋友都知道,很多游戏的存档功能使得我们可以方便地迅速进入上一次退出的状态(包括装备.等级.经验值等在内的一切运行时数据),那么在程序开发中也存在这样的需求:比较简单的 ...

  3. ARM汇编指令集1

    (汇编)指令是CPU机器指令的助记符,经过编译过会得到一串0011组成的机器码,可以由CPU读取执行. (汇编)伪指令本质不是指令(只是和指令一起写在代码中),它是编译器环境提供的,目的是用来指导编译 ...

  4. Prism开发人员指南5-WPF开发 文档翻译(纯汉语版)

    2014四月       Prism以示例和文档的形式帮助你更简单的设计丰富灵活易维护的WPF程序.其中使用的设计模式体现了一些重要的设计原则,例如分离关注点和松耦合,Prism帮助你利用松耦合组件设 ...

  5. pip国内镜像(清华大学镜像)

    网上搜到的pip国内镜像大部分是豆瓣的 http://pypi.douban.com/simple/ 但是根本不全,很多包没有 所以推荐清华大学的 https://pypi.tuna.tsinghua ...

  6. js 函数里的 this

    1,当作为纯粹的函数调用时, this指向调用出的环境的上下文,看下面的例子 var x = 1; function test(){ var x = 0; alert( alert(x); } tes ...

  7. Go标准容器之List

    简介Go的标准包container中包含了常用的容器类型,包括conatiner/list,container/heap,container/ring.本篇介绍conatiner/list. cona ...

  8. 【英语】Bingo口语笔记(86) - stand系列

  9. SSH框架(2)

    个人分类: Java面试   Struts 谈谈你对Struts的理解. 答: 1.struts是一个按MVC模式设计的Web层框架,其实它就是一个大大的servlet,这个Servlet名为Acti ...

  10. 读论文系列:Object Detection ICCV2015 Fast RCNN

    Fast RCNN是对RCNN的性能优化版本,在VGG16上,Fast R-CNN训练速度是RCNN的9倍, 测试速度是RCNN213倍:训练速度是SPP-net的3倍,测试速度是SPP-net的3倍 ...