Python 中的 is 和 == 编码和解码
一 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 和 == 编码和解码的更多相关文章
- 在Java中如何进行BASE64编码和解码
在Java中如何进行BASE64编码和解码 //在Java中如何进行BASE64编码和解码 package me.xzh.study.sun.misc.BASE64; import sun.misc. ...
- javascript中的Base64.UTF8编码与解码详解
javascript中的Base64.UTF8编码与解码详解 本文给大家介绍的是javascript中的Base64.UTF8编码与解码的函数源码分享以及使用范例,十分实用,推荐给小伙伴们,希望大家能 ...
- Python2/3的中、英文字符编码与解码输出: UnicodeDecodeError: 'ascii' codec can't decode/encode
摘要:Python中文虐我千百遍,我待Python如初恋.本文主要介绍在Python2/3交互模式下,通过对中文.英文的处理输出,理解Python的字符编码与解码问题(以点破面). 前言:字符串的编码 ...
- python bytes和bytearray、编码和解码
str.bytes和bytearray简介 str是字符数据,bytes和bytearray是字节数据.它们都是序列,可以进行迭代遍历.str和bytes是不可变序列,bytearray是可变序列,可 ...
- PHP对Url中的汉字进行编码和解码
有的新手朋友们对于url编码解码这个概念,或许有点陌生.但是如果这么说,当我们在浏览各大网页时,可能发现有的url里有一些特殊符号比如#号,&号,_号或者汉字等等,那么为了符合url的规范,存 ...
- python中的循环和编码,运算符, 格式化输出
1.while循环 现在让我们来看看python中的while循环 格式为 while 条件 循环体 (break) (continue) 中断循环的关键字有break和continue, brea ...
- 在LoadRunner中进行Base64的编码和解码
<Base64 Encode/Decode for LoadRunner>这篇文章介绍了如何在LoadRunner中对字符串进行Base64的编码和解码: http://ptfrontli ...
- Python is 和 == 的区别, 编码和解码
一.is 和 == 的区别 is : 进行比较,比较的是内存地址是否一致 ==:进行比较,比较的是值是否相等 1.小数据池: 数字小数据池范围 -5~256 字符串中如果有特殊字符则他们的内存地址不一 ...
- 在 Java 中如何进行 BASE64 编码和解码
BASE64 编码是一种常用的字符编码,在很多地方都会用到.JDK 中提供了非常方便的 BASE64Encoder 和 BASE64Decoder,用它们可以非常方便的完成基于 BASE64 的编码和 ...
随机推荐
- Java连接DB2
package com.java.test.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.s ...
- PetaPoco入门
(转自:http://www.cnblogs.com/tinyhu/archive/2013/06/02/3113652.html) 1. ORM概括 1.1. ORM简介 ORM 对象-关系映射(O ...
- ubuntu 交叉编译arm linux 内核小例子
下载arm-linux-gcc 4.2.3http://code.google.com/p/princess-alist/downloads/detail?name=arm-linux-gcc-4.3 ...
- js最基础的作用域问题
1.什么是作用域? 每个变量和函数,都有其作用的范围,超出这个范围,就不能使用了,这个范围就叫做“作用域”,我们举个例子,一个文件中的变,在另一个文件中直接访问,是访问不到的,两个文件是两个“域”,两 ...
- Redis补充
Redis补充 (1)redis基本概念 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set ...
- Skynet服务器框架(八) 任务和消息调度机制
引言: 在我看来,消息和任务调度应该是skynet的核心,整个skynet框架的核心其实就是一个消息管理系统.在skynet中可以把每个功能都当做一个服务,整个skynet工程在执行过程中会创建很多个 ...
- Developing on Windows Phone 8 Devices
Developing on Windows Phone 8 Deviceshttp://docs.madewithmarmalade.com/native/platformguides/wp8guid ...
- 基于Python语言使用RabbitMQ消息队列(六)
远程过程调用(RPC) 在第二节里我们学会了如何使用工作队列在多个工人中分布时间消耗性任务. 但如果我们想要运行存在于远程计算机上的方法并等待返回结果该如何去做呢?这就不太一样了,这种模式就是常说的远 ...
- WPF简单模拟QQ登录背景动画(转)
介绍 之所以说是简单模拟,是因为我不知道QQ登录背景动画是怎么实现的.这里是通过一些办法把它简化了,做成了类似的效果 效果图 大体思路 首先把背景看成是一个4行8列的点的阵距,X轴Y轴都是距离70.把 ...
- bzoj 2119 股市的预测 —— 枚举关键点+后缀数组
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2119 思路就是对于这个形如 ABA 的串,枚举 A 的长度,并按照长度分出几块,找到一些关键 ...