• 编码转换 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() 会把对象内部的所有内容进行拷贝
  • 相关阅读:
    CodingTrip
    CodingTrip
    Linux下面查找含有特定的字符的文件
    Linux下TCP/IP协议的Socket编程
    显示Apache服务器里面访问量排在前10的ip地址
    c语言的详细编译过程
    WebStorm设置编辑器中的字体大小
    Sublime多行编辑快捷键
    Aptana 中去掉“Missing semicolon”提醒
    公认的媒体类型
  • 原文地址:https://www.cnblogs.com/liuzhiqiang666/p/10060475.html
Copyright © 2020-2023  润新知