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 的编码和 ...
随机推荐
- 20-THREE.JS 混合材质
<!DOCTYPE html> <html> <head> <title></title> <script src="htt ...
- hibernate框架环境搭建与使用
搭建环境 一.新建一个项目 , 导包 一个是hibernate的jar包,一个是jdbc的jar包 hibernate的jar包 这些jar包全部导入 二.配置Hibernate. 1.建立hib ...
- pg_rewind 源端时间线发生改变 同步失败
master-standby情况下,发生如下行为: 1.master停掉后,standby做为新的master(可能存在部分事物没有同步到standby中). 2.新master运行过程中出错,进行恢 ...
- C#泛型类的类型约束
是使用泛型时,T默认情况下是不可以被初始化的,只能通过传值来赋值,这个时候可以使用类型约束来保证T是可以被约束的. .NET支持的类型参数约束有以下五种: where T: struct //T必须是 ...
- linux rsync-文件同步和数据传输工具
一.rsync的概述 rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync” ...
- [分享]Google 全球 IP 地址库[Google Global Cache IPs]
Google 全球 IP 地址库 IP 地址来源:http://www.kookle.co.nr,共计4351个. Bulgaria 93.123.23.1 93.123.23.2 93.123.23 ...
- ORM 模型层
一个模型就是一个单独的,确定的数据的信息源,包含了数据的字段和操作方法.通常,每个模型映射为一张数据库中的表 基本原则: 每个模型在Django中的存在形式为一个python类 每个模型都是djang ...
- HihoCoder1620: 股票价格3 (单调队列 or DP)
股票价格3 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在关注股票,为了计算股票可能的盈利,他获取了一只股票最近N天的价格A1~AN. 小Hi想知道,对于第 ...
- elasticsearch snapshot快照备份和恢复
环境:mac 使用brew 安装elasticsearch 1.在 /usr/local/etc/elasticsearch/elasticsearch.yml 文件中配置快照地址 p ...
- Python脚本MAC上双击执行,如何设置?
1.在文件首行添加如下代码: 如果你想使用默认python版本执行当前的脚本,即python2,则需要添加 #!/usr/bin/env python # -*- coding: utf-8 -*- ...