1   is  和  == 的区别

  • 1>    id( )表示我们可以通过它来查到在内存中的地址
s = "alex"
print(id(s)) #
lst = [1,2, 4]
print(id(lst)) #
lst = [1, 2, 4] # 即使定义两个一样结果的列表,操作系统都会在内存中开辟2块内存地址
print(id(lst)) #
tup = (1, 2)
print(id(tup)) #
tup1 = (1, 2) # 元组亦是.
print(id(tup1)) #
  • 总结:小数据池概念的引入把我们使用过的数据储存在小数据池中,供其他变量使用
  • 2> 小数据池包含:int   ,str   ,bool
    • 一般情况下我们定义的字符串都会被放在小数据池中,在使用字符串的时候,python会帮我们把字符串缓存,在下次使用的是后直接只想这个字符串即可,这样可以节省很多空间.
  • 3> is 和id( )的联系
    1. is比较的是id()计算出来的结果,由于,由于id()帮我们查的是数据(内容)的内存地址,那么is就是比较数据(内容)的内存地址
    2. 最终,我们可以通过is来比较两个数据(内容)是否为同一个对象.
    3. ==是比较左右两端的数据(内容)是否一样
    4. is是比较的两个数据(内容)内存地址是否一样

2,编码的补充:

  • 在python3中,程序运行阶段,使用的是unicode码,因为是万国码,所以什么码都能识别,所以在使用python3的时候是把unicode的代码转换成UTF-8的代码.
  • 内存使用的是unicode,硬盘和网络传输用的是UTF-8或者GBK.
  • bytes的表现形式:
    1. >英文b"alex"英文的表现形式和字符串没有设么区别
    2. >中文  b'\xe4\xb8\xad'这时一个汉字UYF-8的bytes表现形式
    3. encode(内容),编码,获取到的是编码之后的结果."bytes".........................格式是.encode("utf-8"或者,"GBK")
    4. decode(内容),解码,把bytes变成我们熟悉的字符串.................................格式是.decode("utf-8"或者,"GBK")
# utf-8的编码以及解码
s = "中"
# 编码:
print(s.encode("utf-8")) # b'\xe4\xb8\xad'
# 解码:
print(b'\xe4\xb8\xad'.decode("utf-8")) # GBK的编码以及解码
s = "中"
# 编码:
print(s.encode("gbk")) # b'\xd6\xd0'
# 解码:
print(b'\xd6\xd0'.decode("gbk")) # 中

小结:

  • GBK的bytes不能直接转化为UTF-8的bytes,需要先转化为unicode再转化为UTF-8的bytes
  • 即.decode("UTF-8")---------.encode("GBK")----------.decode("GBK").

is和==的区别,小数据池,编码的更多相关文章

  1. is 与 == 的区别;小数据池; 编码与解码

    1, is 与 == 的区别 ==  比较的是两边的值 is   比较的是两边的地址  id () 2,小数据池(在终端中) 数字小数据池的范围 -5 ~ 256 字符串中如果有特殊字符他们的内存地址 ...

  2. Python基础学习Day6 is id == 区别,代码块,小数据池 ---->>编码

    一.代码块 Python程序是由代码块构造的.块是一个python程序的文本,他是作为一个单元执行的. 代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块. 而作为交互方式输入的每个命令都是 ...

  3. python --- 06 小数据池 编码

    一.小数据池, id()    进行缓存 1.小数据池针对的是: int, str, bool 2.在py文件中几乎所有的字符串都会缓存.   在cmd命令窗口中几乎都不会缓存   不同的解释器有不同 ...

  4. python之路---06 小数据池 编码

    二十二.小数据池, id()    进行缓存 1.小数据池针对的是: int, str, bool 2.在py文件中几乎所有的字符串都会缓存.   在cmd命令窗口中几乎都不会缓存   不同的解释器有 ...

  5. python之路(内存,小数据池,编码等)

    代码块: python真正的代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块. 但是,在python终端交互模式下,每一条代码都是一个代码块 python在同一个代码块中的变量,初始化对象 ...

  6. python 全栈开发,Day6(is,小数据池,编码转换)

    一.is a = 100 b = 100 print(a == b) print(a is b) 执行输出: TrueTrue 查看内存地址,使用id函数 print(id(a)) print(id( ...

  7. is ==小数据池编码解码

    ==      比较      比较的是两边的值    is      比较      比较的是内存地址   判断两个东西指向的是不是同一个对象         取内存地址 id() 小数据池     ...

  8. python之路--小数据池,再谈编码,is和 == 的区别

    一 . 小数据池 # 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. # id() 查看变量的内存地址 s = 'attila' print(id(s)) 二 ...

  9. python基础之小数据池,is和==区别 编码问题

    主要内容 小数据池,is和==区别 编码问题 小数据池 一种缓存机制,也称为驻留机制,是为了能更快提高一些字符串和整数的处理速度is 和 == 的区别 == 主要指对变量值是否相等的判断,只要数值相同 ...

随机推荐

  1. linux 部署nginx作为反向代理入口的内核参数/etc/sysctl.conf

    # Kernel sysctl configuration file for Red Hat Linux## For binary values, 0 is disabled, 1 is enable ...

  2. LeetCode(81) Search in Rotated Array II

    题目 Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would t ...

  3. PL/SQL编程接触

    1.认识PL/SQL 结构化查询语言(Structured Query Language,SQL)是用来访问和操作关系型数据库的一种标准通用语言,它属于第四代语言(4GL),简单易学,使用它可以很方便 ...

  4. PS学习笔记(02)

    书籍推荐: <设计之下>这本APP设计书字里行间都透露出了真实,作者能将其工作流程和方法分享出来,实在值得尊敬.通过这本书全面了解了真实的设计工作是怎么做的,今后可以用到自己的工作中.赞! ...

  5. kissy学习

    http://docs.kissyui.com/1.4/docs/html/guideline/kmd.html

  6. asp.net静态变量研究

    asp.net的webform,请求一个页面,如index.aspx,每一次都会交给不同的线程来处理. 经过个人测试,不管是页面类的静态属性,还是工具类的静态属性,都不会因为session的过期而改变 ...

  7. 次最短路径 POJ 3255 Roadblocks

    http://poj.org/problem?id=3255 这道题还是有点难度 要对最短路径的算法非常的了解 明晰 那么做适当的修改 就可以 关键之处 次短的路径: 设u 到 v的边权重为cost ...

  8. 深入理解ajax系列第五篇

    前面的话 一般地,使用readystatechange事件探测HTTP请求的完成.XHR2规范草案定义了进度事件Progress Events规范,XMLHttpRequest对象在请求的不同阶段触发 ...

  9. 【转载】在Javascript中 声明时用"var"与不用"var"的区别

    原文链接:http://www.2cto.com/kf/201204/128406.html[侵删]   Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有 ...

  10. PHP 基础复习 2018-06-21

    (1)PHP Zip File 函数 $zip = zip_open("test.zip"); if ($zip) { while ($zip_entry = zip_read($ ...