• 0504Python基础,is == id


    1,昨日内容回顾

        字典:

           增:

                dic['name'] = 'alex' 有则覆盖,无责添加

                dic.setdefault('name','wusir') 有责不变,无责添加。

           删:

                pop:dic.pop(键,'无此键值对') 有返回值,返回的是对应的值。

                popitem 随机删除。有返回值。

                clear 清空字典。

                del

                del dic['name']

                del dic 在内存级别,删除字典。

           改:

                dic['name'] = 'alex' 有则覆盖,无责添加

                update 将一个字典的所有键值对,覆盖添加到另一个字典。

                dic2.update(dic1)

           查:

                dic['name']

                dic.get('name1') 无此键默认返回None,可以设置返回值。

                for 循环。

        dic.keys() dic.values() dic.items()  返回的都是类似于list的数据类型,可遍历,没有索引。list(dic.keys())

    3,is == id 小数据池

           is 内存地址是否相同

      赋值运算  == 比较数值相同

                  name1 = 'alex'

        name2 = 'alex'

        print(name1 == name2)

           id 查询内存地址。

           小数据池。int str 在一定范围内,如果两个数值相同,为了节省内存,共用一个内存地址。

      int -5 ~ 256

      str :1,有非字母元素就不是小数据池。

      2, 单个字母* int(21)存在小数据池。剩下的类型 都不存在。

     4,编码二

        ASCII: 一个字符 1个字节表示(8位),数字字母特殊字符。

         unicode:万国码

            一个字符用四个字节表示》

            A:0000 0001 0000 0001 0000 0001 0000 0001

            中:0000 0001 0000 0001 0000 1001 0000 0001

         utf-8:

            a: 0000 0001

          欧洲:0000 0001 0100 0001

          亚洲:0000 0001 0000 0001 1100 0001

         gbk:国标

            a:0001 0001

            中:0000 0001 0000 0001

        1,不同的密码本之间的二进制是不能互相识别的,容易报错或者产生乱码。

        2,计算机的文件存储和传输都是0101010(gbk,utf-8,ascii,gb2312等)不能是unicode。

      with open('02 作业讲解.py',encoding='utf-8') as f1:
          print(f1.read(),type(f1.read()))
      name = "alex"
      name1 = b"alex"
      print(name,type(name))
      print(name1,type(name1))
      name = "中国".encode('utf-8')
      name1 = b"alex"
      print(name,type(name))
      print(name1,type(name1))
      str ---> bytes
      s1 = '中国'
      b1 = s1.encode('utf-8')  # encode 编码
      # b2 = s1.encode('gbk')
      # print(b1)
      # print(b2)
      s2 = b1.decode('utf-8') # decode 解码
      print(s2)
      utf-8 bytes  ---> gbk bytes
      s1 = b"alex"
      print(s1.capitalize())

     大前提:python3x,编码。

        数据类型:

            int

            str

            bytes :str 拥有的所有方法,bytes都有。

            bool

            list

            tuple

            dict

            set

        python3x 内存中的编码方式是unicode

            英文:

                str: 表现形式  name = "alex"

                     内部编码:unicode

                 bytes:表现形式:name1 = b"alex"

                     内部编码:非unicode

         中文:

                str: 表现形式  name = "中国"

                     内部编码:unicode

                 bytes:表现形式:b'xe4xb8xadxe5x9bxbd'

                       内部编码:非unicode

  • 相关阅读:
    android开发中调用python代码(带参数)
    安卓开发中实现自动点击功能、获取网络信息’-博客新人初来乍到,欢迎大佬多多指教。
    一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事
    EditText搜索关键字,返回结果匹配关键字改变颜色
    Android studio无法创建类和接口问题解决办法。提示 Unable to parse template "Class"
    我的主页
    博客园美化-coffee
    apple面容、指纹验证使用
    iOS数据库FMDB操作
    UIBezierPath绘图基础教程
  • 原文地址:https://www.cnblogs.com/dzh0394/p/8992219.html
Copyright © 2020-2023  润新知