python解码和编码的区别_python基础小知识,is和==的区别,编码和解码
1、is和==的区别
1)id() 通过id()我们可以查看到一个变量表示的值在内存中的地址
>>> s1 = "Tanxu"
>>> s2 = "Tanxu"
>>> id(s1)
49754608
>>> id(s2)
49754608
>>> lst1 = [1,2,3]
>>> lst2 = [1,2,3]
>>> id(lst1)
49806088
>>> id(lst2)
49807112
>>> tu1 = (1,2)
>>> tu2 = (1,2)
>>> id(tu1)
49840328
>>> id(tu2)
49097800
>>> id(("哈哈哈哈哈哈"*10))
48426160
>>> id(("哈哈哈哈哈哈"*10))
48426160
#我们发现 字符串的地址是相同的,而列表和元组的地址是不同的
小数据池(常量池):把我们使用过得值存储在小数据池中,供其他的变量使用。小数据池给数字和字符串使用,其他数据类型不存在。
对于数字:-5~256是会被加到小数据池中的,每次使用都是同一个对象
对于字符串:A、如果是纯文字信息和下划线,那么这个对象会被添加到小数据池
B、如果是带有特殊字符的,那么不会被添加到小数据池中,每次都是新的
C、如果是单一字母*n的情况,'a'*20 ,在20个单位是可以的,超过20个单位就不会添加到小数据池中
注意:(在一般情况下),在py文件中,如果你只是单纯的定义一个字符串,那么一般情况下都是会被添加到小数据池中的。我们可以这样认为:在使用
字符串的时候,python会帮我们把字符串进行缓存,在下次使用的时候直接指向这个字符串即可,可以节省很多内存。
2)is 和 == 的区别:
==:判断左右是否相等和一致,比较的是内容
is:判断的是内存地址,id()的值来判断,判断的是内存地址
>>> print(s1 == s2)
True
>>> print(lst1 == lst2)
True
>>> print(s1 is s2)
True
>>> print(lst1 is lst2)
False
2、编码和解码encode()和decode()
1)encode() 编码 获取到的是编码之后的结果,bytes
2)decode() 解码 把bytes编程我们熟悉的字符串【用什么编码的,需要用什么解码】
1、encode()编码之后的内容是bytes类型的数据
1) 默认把字符串编码成utf-8的形式
2) 英文:编码之后结果还是英文
3) 中文:编码之后utf-8,一个中文占3个字节
4) encode(“GBK”)编码成GBK的形式,一个中文占2个字节
2、decode(“GBK”) 从别人那里读取到的是GBK编码格式,需要在括号中注明,解码之后是字符串
3、各种编码格式之间相互转化
python解码和编码的区别_python基础小知识,is和==的区别,编码和解码相关推荐
- 锁存器、触发器和寄存器区别对比-基础小知识(十)
文章目录 基本概念 锁存器与触发器区别 锁存器与触发器不同应用场合 锁存器产生条件 锁存器危害 参考文档 基本概念 锁存器(latch):.在电平信号的作用下改变状态,是一种电平触发的存储单元.锁存器 ...
- 计算机编程的基础小知识
一.编程基础小知识 1.内存条中一个元器件称为1Bit(位),大数据处理时可能会用到PB和EB 1Byte = 8 Bit 1KB = 1024Byte = 210Byte 1MB = 1024KB ...
- python文件操作解码_python基础3之文件操作、字符编码解码、函数介绍
内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: 1 #/usr/bin/e ...
- python3 转码的函数_python基础3之文件操作、字符编码解码、函数介绍
内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: 1 #/usr/bin/e ...
- python3中字符串编码常见种类_Python基础篇—标准数据类型—String字符串编码问题...
我要开始写String编码问题了...脑壳疼.. 在String字符串的第一篇末尾有留一个坑,就是关于中文字符串编码.整个编码的故事说起来都是很费劲的,我也只能把我所知道的梳理整理一下,在日常敲码过程 ...
- python指针引用的区别_C++基础:指针和引用的区别
C++基础:指针和引用的区别 *例 int a; int &b = a; 其中b是a的引用,b引用了a,a被b引用.b 相当于 a 的别名,对 b 的任何操作就是对a的操作.所以b既不是a的拷 ...
- python文件操作的一般步骤_Python基础之文件操作
应用程序运行过程中产生的数据最先都是存放于内存中的,若想永久保存下来,必须要保存于硬盘中.应用程序若想操作硬件必须通过操作系统,而文件就是操作系统提供给应用程序来操作硬盘的虚拟概念,用户或应用程序 ...
- python的元组和列表什么区别_Python 中列表和元组有哪些区别?
看过了所有的区别,然而所有的区别都基本毫无意义,tuple元组的设计基本是python语言中一个完全失败和错误的设计,然而我们所有人都只敢小说地说啊它们之间有区别,没有人敢说它们没有区别,是因为这是一 ...
- python的pygame库使用方法_python基础教程使用Python第三方库pygame写个贪吃蛇小游戏...
今天看到几个关于pygame模块的博客和视频,感觉非常有趣,这里照猫画虎写了一个贪吃蛇小游戏,目前还有待完善,但是基本游戏功能已经实现,下面是代码: # 导入模块 import pygame impo ...
最新文章
- jfinal里使用ajax,Jfinal解决AJAX的跨域请求
- Java并发编程:进程和线程之由来
- leetcode No.21 合并两个有序链表
- 使用ASP .NET (C#) 產生PDF檔的好幫手—iTextSharp library (上)
- 斜齿轮受力计算:理论计算virtual.lab motion 仿真
- input中checked复选框进行单选
- linux上安装shell编辑器与linux运维面试题
- 【Linux】tail: inotify cannot be used, reverting to polling: Too many open files
- 后缀自动机线性构造方法
- JavaSE基础——Java多线程
- R语言大小写字母转换
- python查看opencv版本_如何在Python和C ++中输出OpenCV版本号
- Smartdrv在安装操作系统中的作用
- 游戏史上最伟大的10位制作人
- Spark核心开发者:性能超Hadoop百倍,算法实现仅有其1/10或1/100
- UVA11540 Sultan's Chandelier
- Geoffrey Hinton——Godfather of Deep Learning
- Linux下安装和使用杀毒软件AntiVir(ZZ)
- wildfly服务启动,关闭
- android eclipse计算器布局,请教eclipse android 简单计算器入门 相关问题。