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和==的区别,编码和解码相关推荐

  1. 锁存器、触发器和寄存器区别对比-基础小知识(十)

    文章目录 基本概念 锁存器与触发器区别 锁存器与触发器不同应用场合 锁存器产生条件 锁存器危害 参考文档 基本概念 锁存器(latch):.在电平信号的作用下改变状态,是一种电平触发的存储单元.锁存器 ...

  2. 计算机编程的基础小知识

    一.编程基础小知识 1.内存条中一个元器件称为1Bit(位),大数据处理时可能会用到PB和EB 1Byte = 8 Bit 1KB = 1024Byte = 210Byte 1MB = 1024KB ...

  3. python文件操作解码_python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: 1 #/usr/bin/e ...

  4. python3 转码的函数_python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: 1 #/usr/bin/e ...

  5. python3中字符串编码常见种类_Python基础篇—标准数据类型—String字符串编码问题...

    我要开始写String编码问题了...脑壳疼.. 在String字符串的第一篇末尾有留一个坑,就是关于中文字符串编码.整个编码的故事说起来都是很费劲的,我也只能把我所知道的梳理整理一下,在日常敲码过程 ...

  6. python指针引用的区别_C++基础:指针和引用的区别

    C++基础:指针和引用的区别 *例 int a; int &b = a; 其中b是a的引用,b引用了a,a被b引用.b 相当于 a 的别名,对 b 的任何操作就是对a的操作.所以b既不是a的拷 ...

  7. python文件操作的一般步骤_Python基础之文件操作

    ​ 应用程序运行过程中产生的数据最先都是存放于内存中的,若想永久保存下来,必须要保存于硬盘中.应用程序若想操作硬件必须通过操作系统,而文件就是操作系统提供给应用程序来操作硬盘的虚拟概念,用户或应用程序 ...

  8. python的元组和列表什么区别_Python 中列表和元组有哪些区别?

    看过了所有的区别,然而所有的区别都基本毫无意义,tuple元组的设计基本是python语言中一个完全失败和错误的设计,然而我们所有人都只敢小说地说啊它们之间有区别,没有人敢说它们没有区别,是因为这是一 ...

  9. python的pygame库使用方法_python基础教程使用Python第三方库pygame写个贪吃蛇小游戏...

    今天看到几个关于pygame模块的博客和视频,感觉非常有趣,这里照猫画虎写了一个贪吃蛇小游戏,目前还有待完善,但是基本游戏功能已经实现,下面是代码: # 导入模块 import pygame impo ...

最新文章

  1. jfinal里使用ajax,Jfinal解决AJAX的跨域请求
  2. Java并发编程:进程和线程之由来
  3. leetcode No.21 合并两个有序链表
  4. 使用ASP .NET (C#) 產生PDF檔的好幫手—iTextSharp library (上)
  5. 斜齿轮受力计算:理论计算virtual.lab motion 仿真
  6. input中checked复选框进行单选
  7. linux上安装shell编辑器与linux运维面试题
  8. 【Linux】tail: inotify cannot be used, reverting to polling: Too many open files
  9. 后缀自动机线性构造方法
  10. JavaSE基础——Java多线程
  11. R语言大小写字母转换
  12. python查看opencv版本_如何在Python和C ++中输出OpenCV版本号
  13. Smartdrv在安装操作系统中的作用
  14. 游戏史上最伟大的10位制作人
  15. Spark核心开发者:性能超Hadoop百倍,算法实现仅有其1/10或1/100
  16. UVA11540 Sultan's Chandelier
  17. Geoffrey Hinton——Godfather of Deep Learning
  18. Linux下安装和使用杀毒软件AntiVir(ZZ)
  19. wildfly服务启动,关闭
  20. android eclipse计算器布局,请教eclipse android 简单计算器入门 相关问题。

热门文章

  1. python机器学习库sklearn——支持向量机svm
  2. quartus仿真25:JK触发器构成的模7计数器(分析)
  3. 555定时器的应用——单稳态触发器
  4. [Alpha]Scrum Meeting#4
  5. springcloud(八):配置中心服务化和高可用
  6. 00049_super关键字
  7. splice slice
  8. 不依赖jstack的java 线程dump和死锁检查工具
  9. C typedef用途小结
  10. Robocode教程4——Robocode的游戏物理