python全栈开发 随笔 'is' 和 == 的比较知识与区别 编码和解码的内容及转换
python
一. 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
is 比较的是内存地址 id( )
a = 'alex' print(id(a)) # 36942544 内存地址
# n = 10 # print(id(n)) #1408197120
# li = [1,2,3] # print(id(li)) #38922760
(1)字符串的 is 比较
# a = 'alex' # b = 'alex' # print(a is b) #True
(2)数字的 is 比较
# n = 10 # n1 = 10 # print(n is n1) #True
小数据池: 数字的小数据池范围 -5~ 256
# n = -6 # n1 = -6 # print(n is n1) #False
# n = -5 # n1 = -5 # print(n is n1) #True
字符串中如果有特殊字符,他们的内存地址就不一样;
# a = 'alex@' # a1 = 'alex@' # print(a is a1) # Fales
字符串中单个 * 20以内的他们的内存地址一样,单个 * 21 以上的内存地址不一致.
# a = 'a'*21 # b = 'a'*21 # print(a is b) # Flase
(3)列表的 is 比较
li =[1,2,3] li2 =[1,2,3] print(li is li2) #False
(4)元组的 is 比较
tu =(1,2,3) tu1 =(1,2,3) print(tu is tu1) # False
(5)字典的 is 比较
dic1 = {'name':'alex'}
dic = {'name':'alex'}
print(dic1 is dic) #False
注意:pycharm是个坑,一个py文件中所有的相同字符串 一般都是使用一样的内存地址.
二.编码和解码
ascii 码:
不支持 中文
支持 英文 数字 符号
8位 一个字节
gbk 码 国标码
支持 中文 英文 数字 符号
英文 16位 2个字节
中文 16位 2个字节
unicode 万国码
支持 中文 英文 数字 符号
英文 32位 4个字节
中文 32位 4个字节
utf - 8 长度可变的万国码 最少用 8位
英文 8位 1个字节
中文 24位 3个字节
python3中 程序运行阶段 使用的是 unicode 显示所有内容
bytes类型
传输和存储都是使用 bytes 类型
pycharm存储的时候默认使用的是 utf - 8
encode(编码方式) --------------- 拿到明文编码后对应的字节
decode(编码方式) --------------- 将编码后的字节解码成对应的明文
s = 'alex'
print(s.encode('utf-8')) # 编码 encode('utf-8') utf-8 是指定要编码成什么样的编码类型
print(s1.decode('utf-8')) #
bytes
b'alex'
s = '饿了'
s1 = s.encode('gbk') #b'饿了吗' #b'\xe9\xa5\xbf\xe4\xba\x86\xe5\x90\x97'
print(s.encode('gbk')) #b'\xb6\xf6\xc1\xcb\xc2\xf0'
print(s1)
print(s1.decode('utf-8'))
注意用什么进行编码就要用什么解码
不然最后会懵逼
python全栈开发 随笔 'is' 和 == 的比较知识与区别 编码和解码的内容及转换的更多相关文章
- Python全栈开发【面向对象进阶】
Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...
- Python全栈开发【面向对象】
Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...
- Python全栈开发【模块】
Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...
- Python全栈开发【基础四】
Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...
- Python全栈开发【基础三】
Python全栈开发[基础三] 本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...
- Python全栈开发【基础二】
Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...
- Python全栈开发【基础一】
Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...
- python 全栈开发之路 day1
python 全栈开发之路 day1 本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...
- Python全栈开发
Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“ ...
随机推荐
- js调用打印机打印
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- hive数据倾斜原因以及解决办法
何谓数据倾斜?数据倾斜指的是,并行处理的数据集 中,某一部分(如Spark的一个Partition)的数据显著多于其它部分,从而使得该部分的处理速度成为整个数据集处理的瓶颈. 表现为整体任务基本完成, ...
- 7. Orcle树形结构(类似数据字典有父子类关系),查询末节点的所有记录
SELECT a.*FROM tablename aWHERE NOT EXISTS (SELECT 1 FROM tablename b WHERE b.Fid = a.id)START WITH ...
- 03.获取页面的flash文件
1.打开页面的web控制台 2.选择网路查看当前请求的swf文件所在的地址 3.打开swf的文件地址 4.另存为swf的网页为swf格式 搞定就可以了.
- NRF51822之RNG
在裸机下官方已经提供另一个RNG的例子(RF51_SDK_10.0.0_dc26b5e\examples\peripheral\rng) 好了现在我将给出在蓝牙模式下如何使用例子 #include & ...
- awk的用法
awk是什么 awk是一种优良的文本处理工具,同时也是一种脚本语言.awk的三位作者者已将它正式定义为“样式扫描和处理语言”.awk脚本允许您创建简短的程序,这些程序读取输入文件.为数据排序.处理数据 ...
- centos查看命令
1.查看 CPU 物理个数 grep 'physical id' /proc/cpuinfo | sort -u | wc -l 2.查看 CPU 核心数量 grep 'core id' /proc/ ...
- jquery下插入标签以及clone的应用
//内部插入 插入一个儿子 //var $ele = $("<h1></h1>")//创建h1标签 // $ele.html('hello') // $el ...
- UICollectionView setPrefetchingEnabled
UICollectionView 开启是否开启预加载,如果开启,cell在没显示的时候就回去调用cellForIndex…方法,如果没开启,cell只有在显示的时候才会去调用cellForIndex… ...
- Context namespace element 'annotation-config' and its parser class [org.springframework.context.annotation.AnnotationConfigBeanDefinitionParser] are only available on JDK 1.5 and higher
Context namespace element 'annotation-config' and its parser class [org.springframework.context.anno ...