• 20180709


    一.is与 == 的区别

    ⑴ id    内存地址

    例如:

      s = "alex 是 xxx"

      abc = id(s)

      print(abc)              ==> 得到内存地址

    例如:lst = ["周杰伦","AB"]

      lst1=["周杰伦","AB"]                              ==> 字典.列表.元组都没有小数据池

      print(id(lst))                            ==>这两个打印出来的地址不一样

      print(id(lst1))

    例如:s = 'AB'

      s1 = 'AB'                            整数(int).字符串(str).布尔(bool)都有小数据池,   小数据池会对字符串进行缓存,为了节省内存

      print(s)                         ==>内存地址一样

      print(s1)

    ⑵ ==    判断左右两端是否相等和一致        比较的是内容

    ⑶is判断    判断的内存地址    id()的值来判断

    例如:s = "alex"

      s1="alex"

      print(s == s1)                ==>  True

      print(s is s1)                 ==>True     (小数据池)

    二.内存里用的是unicode  硬盘和网络传输用的是UTF-8和GBK

    ⑴encode

    例如:s = "李嘉诚的儿子"                              想要存储,必须进行编码

      bs = s.encode("UTF-8")                       #encode    编码之后的内容是bytes类型的数据

      #把字符串编码成UTF-8形式

      #英文:编码之后的结果是英文本身

      #中文:编码之后   UTF-8    一个中文   3个字节

    例如:s = "饿了吗"

      bs = s.encode("GBK")                     ==>GBK:一个中文,2个字节

    ⑵decode     解码(用什么编码就用什么解码)             把bytes编程我们熟悉的字符串

    例如:bs = b'xb6xf6xc1xc6xc3xb4'

      bs.decode("GBK")                      ==>解码之后是字符串

    例如:GBK ==>UTF-8

      bs = b'xb6xf6xc1xc6xc3xb4'

      #先解码成unicode

      s = bs.decode('GBK')

      #把字符串编码成UTF-8

      bss = s.encode("UTF-8")

      print(bss)

  • 相关阅读:
    notepad++中使用正则表达式
    python 使用多线程
    EMS查看及修改邮箱发送和接受邮件大小的方法
    EMS修改邮箱容量限制的方法
    EMS查看邮箱容量限制的方法
    EMS批量为用户分配邮箱
    EMS已有用户分配邮箱方法
    EMS创建独立新用户并分配邮箱
    【转载】【zabbix】自定义监控项key值
    Centos6.9 安装zabbix3.4 过程
  • 原文地址:https://www.cnblogs.com/lhy979/p/9284250.html
Copyright © 2020-2023  润新知