1、小数据池

  代码块:  一个模块, 一个函数, 一个类, 甚至每一个command命令都是一个代码块. 一个文件也是一个代码块.而不需要创建一个新的数据. 这样会节省更多的内存区域.

      在cmd命令行执行python时,每一条代码就是一个代码块;

         在pycharm中执行文件时,每一个.py文件就是一个代码块.

  is:  判断的是两者的内存地址是否一致.   print(id(变量))  ----> 查内存地址

  ==:  判断两者值是否一致.

  小数据池:  一种缓存机制, 可以快速地创建字符串对象, 以减少内存的浪费 (只针对整数, 字符串, bool).

      在python中对-5到256之间的整数会被驻留在内存中, 并将一定规则的字符串缓存. 在使用时, 内存中只会创建一个给数据的对象, 保存在小数据池中. 当使用的时候直接从小数据池中获取对象的内存引用, 而不需要创建一个新的数据, 这样就会节省更多的内存区域.

      对于整数:  -5 到 256

      对于字符串: 只针对含有字母,数字,下划线式并且字符长度不大于20的字符串会缓存(汉字不会缓存).

2、编码解码

  ASCII(含数字,字母和特殊字符) :  8位  1字节  

  gbk(国标码,含有6w多个汉字):    16位  2字节

  Unicode(万国码):         32位  4字节  (太长不适合传输和保存)

  utf-8(可变长度的unicode):       24位  英文1字节, 欧洲文字2字节, 中文3字节  (适合传输和保存)

  在python 3的内存中,用的是unicode, 在python 2中用的是ASCII.

  程序在运行的时候, 使用的是unicode编码方式, 因为unicode是万国码, 什么内容都可以进行显示, 在数据传输和存储时候, 则以 utf-8 的形式进行存储, 省内存.

  encode()和decode()

 bs = b'\xc2\xed\xbb\xaf\xcc\xda'    # GBK编码
b = bs.decode("GBK")
bss = b.encode("utf-8")
print(bss)

编码解码

python摸爬滚打之day06----小数据池、编码解码的更多相关文章

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

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

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

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

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

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

  4. day06——小数据池、深浅拷贝、集合

    day06 小数据池 小数据池--缓存机制(驻留机制),只是一种规格,不会实际的开辟一个空间 == 判断两边内容是否相等 ***** # a = 10 # b = 10 # print(a == b) ...

  5. 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. day06 小数据池,再谈编码

    今日所学 一.  小数据池 二.  is 和==的区别 三.  编码的问题 一.小数据池的作用 用来缓存数据 可以作用的数据类型: 整数(int), 字符串(str), 布尔值(bool). 什么是块 ...

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

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

  9. python:id与小数据池与编码

    一.id与小数据池 id:查的是内存地址 a = 100 b = 100 print(a == b)#比较的数值 print(a is b)#比较的是id print(id(a),id(b))#id相 ...

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

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

随机推荐

  1. cordova打包vue2(webpack)android、ios app

    使用cordova打包vue2(webpack)app for android ios1.vue项目通过vue-cli脚手架建立项目,使用webpack进行打包,下边是一整套命令. #npm 版本最好 ...

  2. EasyUI Form提交后json数据IE上需要下载(转)

    EasyUI Form提交后json数据IE上需要下载(转)   在使用EasyUI的form中的submit方法时,返回json在IE中变成提示下载的问题,代码如下: $('#fileForm'). ...

  3. Java知多少(24)包装类、拆箱和装箱详解

    虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性.没有方法可调用. 沿用它们只是为了迎合人类根深蒂固的习惯, ...

  4. 学习Mysql过程中拓展的其他技术栈:设置linux虚拟机的固定ip和克隆linux虚拟机

    一.设置linux虚拟机的固定ip 1. 安装好虚拟机后在菜单栏选择编辑→ 虚拟网络编辑器,打开虚拟网络编辑器对话框,选择Vmnet8 Net网络连接方式,随意设置子网IP,点击NAT设置页面,查看子 ...

  5. 由n个元素组成的数组,n-2个数出现了偶数次,两个数出现了奇数次,且这两个数不相等,如何用O(1)的空间复杂度,找出这两个数

    思路分析: 方法一:涉及到两个数,就要用到异或定理了:若a^b=x,则a=b^x,b=x^a.对于这道题,假设这两个数分别为a.b,将数组中所有元素异或之后结果为x,因为a!=b,所以x=a^b,且x ...

  6. 网络编程 -- RPC实现原理 -- NIO单线程

    网络编程 -- RPC实现原理 -- 目录 啦啦啦 Class : Service package lime.pri.limeNio.optimize.socket; import java.io.B ...

  7. 【代码审计】五指CMS_v4.1.0 copyfrom.php 页面存在SQL注入漏洞分析

      0x00 环境准备 五指CMS官网:https://www.wuzhicms.com/ 网站源码版本:五指CMS v4.1.0 UTF-8 开源版 程序源码下载:https://www.wuzhi ...

  8. centos7.0 yum 安装php服务器

    https://blog.csdn.net/jiaoshenmo/article/details/50923900 首先收一下:centos7.0用yum直接安装apache.php他们的默认版本是a ...

  9. DownloadProvider源码解析——与Volley对比

    1.AndroidHttpClient的创建 DownloadManager: 在DownloadThread的run方法里 public void run() { Process.setThread ...

  10. vs2017更新后web项目部分后台代码类没有颜色,也没有自动提示输入功能

    vs2017有的版本更新后默认.net framework框架是.net framework4.6.1,将项目的.net framework框架更改为4.6.1,颜色和自动提示出现