Python 学习笔记

Posted by API Caller on April 19, 2019

Python 不学哪行啊, 啥都要用到, 学吧就.

资料列表

第一个 Python 程序

在 Linux 上直接运行 py 文件需要在文件头部加上:

1
#!/usr/bin/env python3

Python 基础

Python 使用缩进来组织代码块, 请务必遵守约定俗成的习惯, 坚持使用4个空格的缩进. 在文本编辑器中, 需要设置把 Tab 自动转换为4个空格, 确保不混用 Tab 和空格.

转义

r'' 表示 '' 内部的字符串不转义.

1
print(r'\\\t\\') # \\\t\\

字符编码

我觉得 py 的编码设计得很不好, 可我不是语言专家, 我只想举一个小例子

# -*- coding: utf-8 -*-

print("======    u\'123\\xe4\\xbd\\xa0\'   =======")
raw = u'123\xe4\xbd\xa0'
print(raw.encode("utf-8"))

print("======     u\'123你\'   =======")
raw = u'123你'
print(raw.encode("utf-8"))

Output:

1
2
3
4
======    u'123\xe4\xbd\xa0'   =======
b'123\xc3\xa4\xc2\xbd\xc2\xa0'
======     u'123你'   =======
b'123\xe4\xbd\xa0'

原理(我所理解的):

  • u 代表 UTF16-BE
  • e4 bd a0 对应的 bytes 是 ‘你’ 字的 utf-8
  • \xe4\xbd\xa0 是 UTF16-BE 的 \u00e4\u00bd\u00a0
  • encode() 强行将 UTF16-BE 转成 UTF-8, 所以就是 \xc3\xa4\xc2\xbd\xc2\xa0