编码转换 is id 深浅拷贝

 1. 小数据池, id()
            小数据池针对的是: int, str, bool
            在py文件中几乎所有的字符串都会缓存.
            id() 查看变量的内存地址
 2. is和==的区别
            is 比较的是内存地址
            == 比较的是内容
            当两个变量指向同一个对象的时候. is是True, ==也是True
 3. 再谈编码
            回顾:
                1. ascii. 有: 数字, 字母, 特殊字符. 8bit  1byte 128  最前面是0
                2. gbk. 包含: ascii, 中文(主要), 日文, 韩文, 繁体文字. 16bit, 2byte.
                3. unicode. 包含gbk,ascii,big5... 32bit, 4byte
                4. utf-8. 可变长度的unicode.
                    1. 英文: 8bit,1byte
                    2. 欧洲文字: 16bit 2byte
                    3. 中文: 24bit 3byte
            不同的编码之间不能随意转换. 中国人gbk和德国人utf-8骂 想要沟通必须通过英文(unicode)(媒介)
            在python3中. 默认的编码是unicode,我们的字符串就是unicode
            在python2中. 默认的编码是ASCII.  Cpython.c语言的默认编码是ASCII
            unicode弊端:在存储和传输的时候. 是很浪费的
            在存储和传输的时候不能直接使用unicode. 必须要对字符串进行编码. 编码成bytes类型
            bytes: 字节形式的字符串
                1. encode(编码格式) 编码
                2. decode(编码格式) 解码
1. 基础数据类型补充
        大多数的基本数据类型的知识.已经学完了
        join()
        "*".join("马虎疼") # 马*虎*疼 把传递进去的参数进行迭代. 获取到的每个元素和前面的*进行拼接. 得到的是字符串
        split() 切割. 切割的结果是列表
        列表和字典: 都不能在循环的时候直接删除
        把要删除的内容记录在新列表中然后循环这个新列表. 删除列表(字典)
        fromkeys()
        坑1: 返回新字典. 不会更改老字典
        坑2: 当value是可变的数据类型. 各个key共享同一个可变的数据类型. 其中一个被改变了. 其他都跟着变
        # 程序员找工作和菜市场大妈买白菜是一样的

    2. 深浅拷贝(重点, 难点)
        1. = 没有创建新对象, 只是把内存地址进行了复制
        2. 浅拷贝  lst.copy() 只拷贝第一层.
        3. 深拷贝
            import copy
            copy.deepcopy() 会把对象内部的所有内容进行拷贝
原文地址:https://www.cnblogs.com/liuzhiqiang666/p/10060475.html