运算符
- // :整除,丢弃小数部分
- %: 求余运算符 ,x % y
⟺
\Longleftrightarrow
⟺ x - (( x // y) * y), -10 % 3 = 2
字符串
- 字符串表示:str()以合理的方式将值转换为用户能够看懂的字符串;
- repr():获得值的合法Python表达式
- 长字符串:可使用三引号。
print('''This is a very long string. Itcontinues here.
And it's not over yet. "hello, world!"
Still here。''')
- 提示 常规字符串也可横跨多行。只要在行尾加上反斜杠,反斜杠和换行符将被转义,即被忽
略。
>>> print \
('Hello, world')
Hello, world
- 原始字符串
- 不以特殊方式处理反斜杠。
- 在常规字符串中,反斜杠扮演特殊角色:它对字符进行转义,让你能够在字符串中包含原本无法包含的字符。
- 编写正则表达式时,原始字符串很有用;
- 原始字符串用前缀r表示。
- 原始字符串不能以单个反斜杠结尾。
- 请注意,指定原始字符串时,可使用单引号或双引号将其括起,还可使用三引号将其括起。
- Unicode、bytes和bytearray
每个Unicode字符都用一个码点(code point)表示,而码点是Unicode标准给每个字符指定的数字。这让你能够以任何现代软件都能识别的方式表示129个文字系统中的12万个以上的字符。
- 可直接创建bytes对象(而不是字符串),方法是使用前缀b
>>> b'hello, world'
- bytes字面量只支持ASCII标准中的128个字符,而余下的128个值必须用转义序列表示,如\xf0表示十六进制0xf0
- 字节
字节也被单引号、双引号或三引号包围。但必须有一个b或B前缀
注意 Python语法中没有bytearray字面值 - Unicode字符串中包含无法用字节表示的“抽象”文本。因此,如果Unicode字符串没有编码为二进制数据的话,是无法保存在磁盘中或通过网络发送的。将字符串对象编码为字节序列的方法有两种:
- 利用str.encode(encoding, errors)方法
- 利用bytes(source, encoding, errors)构造函数,创建一个新的字节序列。
- 可以将bytes表示的二进制数据转换为字符串
- 利用bytes.decode(encoding, errors)方法
- 利用str(source, encoding, error)构造函数,创建一个新的字符串实例,与bytes()构造函数类似。