zoukankan      html  css  js  c++  java
  • python基础五

    id 内存地址

    name = "lliulin"
    print(id(name))
    #输出:467199291832

     is  判断的是内存地址

    name1 = "liu#"
    name2 = "liu#"
    print(name1 == name2)
    print(name1 is name2)
    #在pycharm中 输出
    输出:True
    输出:True
    #在编译器里
    输出:True
    输出:False

    python

    int str 有小数据池

    int(-5~256)是小数据池,在一个内存地址

    i  = 256
    i1= 256
    print(i is l1)
    #输出:True
    
    
    i  = 257
    i1= 257
    print(i is l1)
    #输出:False

    str:如果全是字母组成,那么True   如果非字幕出现,那么False

    如果int*str(必须是一个字母) 则20个以内  是True

    其他数据类型,没有小数据池

    编码进阶:

    1.不同编码之间,不能识别对方二进制,会报错或者乱码

    2.在你的字符串(文件)存储传输时,必须用非unicode

    python3:

    字符串:编码方式:默认都是unicode

    对于非中文:bytes:表现形式:b."alex"

                                     内部编码:utf-8  gbk 。。。(非unicode)

                         str:表现形式:"str"

                                内部编码:unicode

    转换
    name = "liulin" b = name.encode("utf-8") b1 = name.encode("gbk") print(name,type(name)) print(b,type(b)) print(b1,type(b1)) #liulin <class 'str'> #b'liulin' <class 'bytes'> #b'liulin' <class 'bytes'>

    对于中文:bytes:表现形式:b'xe5x88x98xe6x9ex97'

                     内部编码:非unicode

         str:表现形式:"中文"

                             内部编码:unicode

    转换
    name = "中国"
    b = name.encode("utf-8")
    b1 = name.encode("gbk")
    print(name,type(name))
    print(b,type(b))
    print(b1,type(b1))
    #中国 <class 'str'>
    #b'xe4xb8xadxe5x9bxbd' <class 'bytes'>
    #b'xd6xd0xb9xfa' <class 'bytes'>

     

      

  • 相关阅读:
    Android 按键消息处理Android 按键消息处理
    objcopy
    SQLite多线程读写实践及常见问题总结
    android动画坐标定义
    Android动画效果translate、scale、alpha、rotate
    Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类)
    Flatten Binary Tree to Linked List
    Distinct Subsequences
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
  • 原文地址:https://www.cnblogs.com/pygg/p/8361491.html
Copyright © 2011-2022 走看看