Python整理(基础一)

166 阅读3分钟

一、数据类型和变量

  1. 数据类型:
  • 整形
  • 浮点型
  • 字符串
    1. ''或者""表示
    2. 格式化
      A. print("我是%s,今年%d岁了。") % ("张三",26)
      B. print("我叫{},今年{}岁了。".format("张三",26))
    3. 三个单引号表示其中的字符串可以跨行显示
      print('''我叫张三,
      今年十八。''')
    4. 计算字符串长度/字节数: len('ABC') len(b'ABC')
  • 布尔值:True False
    1. 布尔运算 and or not
  • 空值 None
  1. 变量:
    python是动态语言,变量本身类型不固定
  2. 常量:
    在Python中,通常用全部大写的变量名表示常量

二、编码:

  1. 为什么字符编码是一个令人头疼的问题?
    因为我们的计算机只能处理数字,如果要处理文本,必须将文本转换为数字才能处理。要实现这样的转换,必须建立一套转换规则,这就是编码。
  2. ASCII编码: 包含127个字符,包含大小写英文字母、数字和一些符号。(美国制定)
  3. GB2312编码:
    包含了中文字符。(中国制定)
  4. Unicode编码:
    Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
    ASCII编码是1个字节,而Unicode编码通常是2个字节。
  5. utf-8编码: (可变长编码)
    UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。
  6. 计算机系统通用的字符编码工作方式: 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
  7. 单个字符的编码:
  • ord()函数:获取单个字符的整数表示 eg:ord('A')
  • chr()函数:把编码转换为对应的字符 eg:chr(66)
  1. 为什么要编码解码: 由于字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes,需要用encode()方法。如果从网络或者磁盘读取了字节流,那么读取到的数据就是bytes,需要把bytes变为str,需要用decode()方法。
  2. Python对bytes类型的数据用带b前缀的单引号或双引号表示:x = b'456'
  3. "ABC"和b"ABC"的区别:
  • "ABC":是string;
  • b"ABC":是bytes类型,每个字符只占用一个字节
  1. 编码:以unicode表示的string通过encode()方法可以编码为指定的bytes
    e.g.
    zhBytes = '中文'.encode('utf-8') print(zhBytes)
    结果:b'\xe4\xb8\xad\xe6\x96\x87'
  2. 解码:将bytes转为str
    e.g.
    zhStr = b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8') print(zhStr)
    结果:中文