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 的编码和 ...
随机推荐
- CMD下修改mysql的root用户密码
文章转载自... CMD下,切换到mysql的bin目录下(目录加入到环境变量中绕过此步) 输入 mysql -u root -p,输入旧密码,进入mysql状态 MySQL>use MySQL ...
- HBase Cassandra比较
转自:http://itindex.net/detail/22338-cassandra-hbase-%E8%AE%BE%E8%AE%A1 Cassandra HBase 一致性 Quorum ...
- 【spark】常用转换操作:join
join就表示内连接. 对于内链接,对于给定的两个输入数据集(k,v1)和(k,v2) 根据相同的k进行连接,最终得到(k,(v1,v2))的数据集. 示例 val arr1 = Array((&qu ...
- linux/unix shell bash script 小记
#script PSAATL11*` do $i | awk -F ':' '{print $1}'` do ((k=j+)); m=$(zcat $i | sed -n ${j},${k}p); e ...
- 记录下MD5加密遇到的坑
错误的写法: public static String md5(String plainText) { byte[] secretBytes = null; try { secretBytes = M ...
- PostgreSQL copy 时提示:ERROR: invalid byte sequence for encoding "UTF8": 0xb3
测试时使用三种文件格式: ISO-8859 Netpbm PBM image ASCII if [ $(file $filename|grep -c "ISO-8859") -gt ...
- QT画图
if (0) { QApplication a(argv, args); QGraphicsScene scene; scene.setSceneRect(-300,-300,600,600); sc ...
- windows10 配置apache+php+mysql
apache配置就是个坑!!! 参考win10环境下配置win10Apache+PHP+MySQL环境的方法 注意:把所有"C:/apache2/..."都变为自己的apache目 ...
- 浅析Python中bytes和str区别
本博转载自:Chown-Jane-Y的浅析Python3中的bytes和str类型 Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分.文本总是Unicode,由str类型表示, ...
- vue前端开发那些事——vue组件开发
vue的学习曲线不是很陡(相比其它框架,如anglarjs),官方文档比较全面,分为基础篇和高级篇.我们刚开始学习的时候,肯定像引用jquery那样,先把vue的js引进来,然后学习基础内容.如果仅仅 ...