zoukankan      html  css  js  c++  java
  • day_08

    上节课回顾

    元组内置方法

    不可更改的列表,其他的和列表一模一样

    散列表

    参考

    字典内置方法

    1. 乱序--》pyton2中字典是乱序的,但是pyton3做了优化

    使用方法:

    [key]可以取值,也可以修改至

    get可以获取值,没有获取到值那就默认返回None

    setdefault 按key获取值,如果没有这个key就增加,有就不做修改

    集合内置方法

    1. 去重--》同样的值存的位置是一样的,拿到第一个就不会拿第二个
    2. 乱序--》插值是按照某种哈希算法随机插的
    3. 进行数学集合运算
      1. 交集
      2. 并集
      3. 补集
      4. 差集

    add添加

    remove删除

    discard删除

    深浅拷贝

    拷贝

    l2为l1的拷贝对象时,l1内部所有数据类型变化,l2就变化

    浅拷贝

    l2为l1的浅拷贝对象时,l1内部的可变数据变化,l2就变化;l1内部的不可变数据变化,l2不变

    深拷贝

    l2为l1的深拷贝对象时,l1内部的任何数据变化,l2也不变

    今日所学

    字符编码

    文本编辑器存储信息的过程

    文本编辑器 --》 写文本 --》 存储信息

    显示屏(内存) --》(转换)硬盘

    #ASCII码的转换关系
    print(chr(65))
    print(ord('a'))
    

    早期,每个国家都有自己国家的字符编码,每个国家也只能使用自己国家的计算机。

    这个时候就出现了unicode编码

    Unicode编码可以识别所有国家的编码

    Unicode存储占用太多空间,所有出现了utf-8(和Unicode一一对应)--》解决了Unicode内存占用的问题

    一般现在的电脑都是内存中unicode取,存用utf8存。

    为什么内存中不用utf8?

    因为utf8和gb2312都没有转换关系,所有内存要用Unicode

    gb2312和gbk的区别

    gb2312 ——》 常用词

    gbk——》所有字

    用什么编码写,就用什么编码读,否则会出现乱码

    编码和解码

    unicode编码 ---》(编码) utf8 从内存到硬盘

    utf8 --》(解码) unicode 从硬盘到内存

    现在内存只有unicode编码

    python解释器(文本编辑器)解释python代码的流程

    1、python解释器相当于文本编辑器,先把代码读入python解释器--》字符编码》上coding头

    2、识别代码-》print有意义--》语法问题

    3、产生结果--》跑到终端--》字符编码

    终端有一个特性:电脑是什么编码,就会按照什么编码来,Windows终端是gbk

    python2和python3的编码区别

    python2

    python2有两种存储变量的形式,第一种:Unicode,第二种:按照coding头来的

    python2默认用ASCII读取字符

    假设python2用utf8存储x='中文',当你print(x)的时候,终端接收gbk的变量x,但是windows终端编码是utf8,会乱码

    假设python2用unicode存储,终端接受的是unicode,windows终端编码是utf8还是gbk重要吗?不会乱码=

    # coding:gbk
    lt1 = '中文'  # utf存储的
    # lt1 = ['中文']  # []让他不用终端的编码转化,显示01010101001
    print lt1  # ['xe4xb8xadxe6x96x87']
    
    lt2 = u'中文'  # u'中文'让他变成unicode  # 早期用python2定义中文,必须得加上u,让他变成unicode存储
    # lt2 = [u'中文']
    print lt2  # '中文'
    

    python3

    python3只有一种存储变量的形式,Unicode

    python3用Unicode存储,不管终端编码是什么,都不会乱码

  • 相关阅读:
    微信小程序HTTPS
    微信商城-1简介
    va_list
    Event log c++ sample.
    EVENT LOGGING
    Analyze Program Runtime Stack
    unknow table alarmtemp error when drop database (mysql)
    This application has request the Runtime to terminate it in an unusual way.
    How to check if Visual Studio 2005 SP1 is installed
    SetUnhandledExceptionFilter
  • 原文地址:https://www.cnblogs.com/maqiaobin/p/11533845.html
Copyright © 2011-2022 走看看