zoukankan      html  css  js  c++  java
  • day06 小数据池,再谈编码

    今日所学

      一.  小数据池

      二.  is 和==的区别

      三.  编码的问题

    一.小数据池的作用 用来缓存数据

        可以作用的数据类型: 整数(int),

                字符串(str),

                布尔值(bool).

    什么是块?

    代码块: ⼀个模块, ⼀个函数, ⼀个类, 甚⾄每⼀个command命令都是⼀个代码块. ⼀个⽂件也是⼀ 个代码块, eval()和exec()执⾏的时候也是⼀个代码块

    二 . is 和== 的区别

    id()

    通过id 可以查找到一个变量表示的值在内存中的地址.

    例如:

    .    s = 'alex' 

          s1=id(s)

      print (s1)    # 4326667072

    is 和 == 的区别

    is 判断的是两个值得内存地址

     " = = ""判断的是2个值内部的元素是否相等  

    现在我们大致可以这样认为: 如果两个值得内存地址相同,他们一定是相等的

    如果只是值相等,那么他们不一定是同一个对象.

    小数据池 : 一种数据缓存机制 ,也被称为驻留机制 .几乎每个编程语言都哟偶类似的东西

    小数据池只针对 整数 字符串 布尔值 .其他的数据类型不存在驻留机制.

    小数据池的优点: 能够提高一些字符串,整数的运算速度 ,省略创建对象的过程.

            缺点:在数据池中插入新的内容会花费很多的时间.

    对于数字 : -5 - 256是会被加到小数据池中的,每一次使用的都是同日对象

    对于字符串:1. 如果字符串的⻓度是0或者1, 都会默认进⾏缓存

    2. 字符串⻓度⼤于1, 但是字符串中只包含字⺟, 数字, 下划线时才会缓存

    3. ⽤乘法的到的字符串. 

         ①. 乘数为1, 仅包含数字, 字⺟, 下划线时会被缓存. 如果 包含其他字符, ⽽⻓度<=1 也会被驻存,

         ②. 乘数⼤于1 . 仅包含数字, 字⺟, 下划 线这个时候会被缓存. 但字符串⻓度不能⼤于20 4. 指定驻留. 我们可以通过sys模块中的intern()函数来指定要驻留的内容.

    三 ,编码的补充

    python 3.x中内存中使用的代码是Unicode码

    编码回顾:

    ascii:最早出现的编码.里面有英文大写字母 小写字母 数字 特殊符号

    没有中文  8bit  1byte

    GBK: 中文国标码 里面包含立中文常用的编码16bit 2byte

    Unicode: 万国码 里面包含了所有的国家文字编码 32bit 4byte 包含了ASCII码

    utf-8:可变长度的万国码,是unicode的一种实现,最小字符占8位

    1.英文 8bit 1byte

    2.欧洲文字 16bit 2byte

    3. 中文 32bit 3byte

    重点:  编码和解码   在国内 只有UTF-8和GBK两种形式

    编码:s.encode( )将一种文字变成计算机所识别的语言

    解码:s.decode() 将计算机所识别的语言变成你识别的语言

    s = "我是⽂字" 

    bs=s.encode("utf-8")

    bss=bs.decode("utf-8")

    print(bss)  这就是相当于实现了程序的编码和解码

  • 相关阅读:
    《财富自由之路》读后感及读书笔记
    echarts3.x 入门
    Ubuntu 16.04 硬盘安装
    语义化版本控制的规范(转载)
    appcan IDE 无法 请求数据
    jQuery extend 函数
    63342 接口 奇遇 IDEA
    C++调用Java的Jar包
    无法打开 源 文件“stdafx.h”的解决方法
    CString的头文件
  • 原文地址:https://www.cnblogs.com/zty1304368100/p/10059829.html
Copyright © 2011-2022 走看看