五、Python基础
5.1 数据类型和变量
- 转义字符
\\:输入'I\\'m \\"OK\\"!',输出I'm "OK"!,即 “ \ ” 后的字符不会被转义,将原样输出。
print(' \\\\ \\n \\\\ ')
# 输出:
\\ # 换行了
\\
- 为了简化,Python还允许用
r''表示''内部的字符串默认不转义。
print(r' \\\\\\t\\\\ ')
# 输出:
\\\\\\t\\\\
- 为了简化,Python允许用
'''...'''的格式表示多行内容,字符串内部的换行会被保留。
print('''line1
line2
line3''')
# 输出:
line1
line2
line3
- 空值是Python里一个特殊的值,用
None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
5.2 字符串和编码
- UTF-8


- Unicode 是一种在计算机上使用的字符编码,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
- UTF-8 最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。通常而言,英文字母、数字占 1 个字节,常见汉字(中文、日文、韩文等)占 3 个字节,特殊或冷僻字符(如表情、罕见文字)占 4 个字节。
- 这里的关系是,UTF-8 是 Unicode 的实现方式之一。
- UTF-8 的编码规则:对于单字节的符号,字节的第一位设为0,后面7位为这个符号的 Unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的;对于 n 字节的符号(n > 1),第一个字节的前 n 位都设为1,第 n + 1 位设为0,后面字节的前两位一律设为 10。剩下的没有提及的二进制位,全部为这个符号的 Unicode 码。
- 例:严的 Unicode 是4E25(100 111000 100101),且严的 UTF-8 编码需要三个字节,即格式是1110xxxx 10xxxxxx 10xxxxxx。然后,从严的最后一个二进制位开始,依次从后向前填入格式中的x,多出的位补0。这样就得到了,严的 UTF-8 编码是 1110 0 100 10 111000 10 100101,转换成十六进制就是E4B8A5。
- 占位符
输入:'Hello, %s' % 'world'
输出:'Hello, world'
输入:'Hi, %s, you have $%d.' % ('Michael', 1000000)
输出:'Hi, Michael, you have $1000000.'
%s表示用字符串替换,%d表示用整数替换,%f表示用浮点数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
print('%2d-%02d' % (3, 1)) # 输出:' 3-01'
print('%.2f' % 3.1415926) # 输出:3.14