一   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-Alcatraz(插件管理工具)

    一.简单说明 Alcatraz 是一款 Xcode的插件管理工具,可以用来管理XCode的 插件.模版以及颜色配置的工具. 二.如何安装 1.github地址:https://github.com/a ...

  2. 转: OLAP引擎——Kylin介绍

    本文转自:http://blog.csdn.net/yu616568/article/details/48103415 ,如有侵犯,立刻删除.  Kylin是ebay开发的一套OLAP系统,与Mond ...

  3. css: 基础一

    1.display有哪些值?说明他们的作用 @1.block:设定元素为块级元素,占据一整行,可设置宽高. @2.inline-block: 设定元素行内块元素,可设置宽高,一行能显示多个. @3.i ...

  4. .Net版SQLite无法访问网络位置的数据库文件-winOpen,os_win.c 36702异常

    最近一个C#小程序,希望将SQLite数据库放在网络共享的位置,让多个客户端同时访问.却发现SQLite连接不上该网络位置的数据库,而如果数据库在本地则一切正常. 例如将SQLite数据库 test. ...

  5. ES中保护对象的措施总结

    必要性:  JS中的对象可随意修改属性值,可随意添加删除属性,太乱,数据安全得不到保障. 如何保护: 保护属性: 保护对属性值的修改 对象属性分为: 命名属性: 可直接用.访问到的属性 数据属性: 直 ...

  6. [qt][问题记录] 无法定位程序输入点 _ZdaPvj 于动态链接库 libstdc++-6.dll

    无法定位程序输入点 _ZdaPvj 于动态链接库 libstdc++-6.dll 该问题是没有打包库的问题,之所以出现这个问题的是直接用系统自带的命令行使用qt的windeployqt命令导致提供的库 ...

  7. 剑指Offer面试题:6.旋转数组中的最小数字

    一 题目:旋转数组中的最小数字 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1, ...

  8. LinuxCentos6安装中文输入法

    第一步.先安装中文语言包: 执行以下命令 [root@bogon 桌面]# yum install fonts-chinese.noarch [root@bogon 桌面]# yum install ...

  9. UART驱动分析

    在linux用户层上要操作底层串口需要对/dev/ttySxxx操作,这里的ttySx指实际的终端串口. 以下以全志A64为实例,分析UART驱动以及浅谈TTY架构. linux-3.10/drive ...

  10. Oracle备份与恢复案例

    注:以下内容来自<Oracle备份与恢复案例.doc>文档. Oracle备份与恢复案例 By Piner 一. 理解什么是数据库恢复 当我们使用一个数据库时,总希望数据库的内容是可靠的. ...