除法运算 (/) 永远返回浮点数类型。
如果要做 floor division 得到一个整数结果(忽略小数部分)你可以使用 // 运算符;
如果要计算余数,可以使用 %
在交互模式下,上一次打印出来的表达式被赋值给变量 _。这意味着当你把Python用作桌面计算器时,继续计算会相对简单,比如:
>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06
除了 int 和 float,Python也支持其他类型的数字,例如 Decimal 或者 Fraction。Python 也内置对 复数 的支持,使用后缀 j 或者 J 就可以表示虚数部分(例如 3+5j )。
字符串可以用 + 进行连接(粘到一起),也可以用 * 进行重复
相邻的两个或多个 字符串字面值 (引号引起来的字符)将会自动连接到一起,这样把很长的字符串拆开分别输入的时候尤其有用
>>> text = ('Put several strings within parentheses '
... 'to have them joined together.')
>>> text
'Put several strings within parentheses to have them joined together.'
注意:只能对两个字面值这样操作,变量或表达式不行
如果你想连接字符串变量,或者连接字符串变量和字面值,可以用 + 号
字符串是可以被 索引 (下标访问)的,第一个字符索引是 0。
索引也可以用负数,这种会从右边开始数
注意 -0 和 0 是一样的,所以负数索引从 -1 开始。
除了索引,字符串还支持 切片。索引可以得到单个字符,而 切片 可以获取子字符串。
>>> word[0:2] # characters from position 0 (included) to 2 (excluded)
'Py'
>>> word[2:5] # characters from position 2 (included) to 5 (excluded)
'tho'
注意切片的开始总是被包括在结果中,而结束不被包括。这使得 s[:i] + s[i:] 总是等于 s
>>>
>>> word[:2] + word[2:]
'Python'
>>> word[:4] + word[4:]
'Python'
切片的索引有默认值;省略开始索引时默认为0,省略结束索引时默认为到字符串的结束:
>>>
>>> word[:2] # character from the beginning to position 2 (excluded)
'Py'
>>> word[4:] # characters from position 4 (included) to the end
'on'
>>> word[-2:] # characters from the second-last (included) to the end
'on'
您也可以这么理解切片:将索引视作指向字符 之间 ,第一个字符的左侧标为0,最后一个字符的右侧标为 n ,其中 n 是字符串长度。例如:
+---+---+---+---+---+---+
| P | y | t | h | o | n |
+---+---+---+---+---+---+
0 1 2 3 4 5 6
-6 -5 -4 -3 -2 -1
第一行数标注了字符串非负的索引的位置,第二行标注了对应的负的索引。那么从 i 到 j 的切片就包括了标有 i 和 j 的位置之间的所有字符。
对于使用非负索引的切片,如果索引不越界,那么得到的切片长度就是起止索引之差。例如, word[1:3] 的长度为2.
文本序列类型 — str
在 Python 中处理文本数据是使用 str 对象,也称为 字符串。 字符串是由 Unicode 码位构成的不可变 序列。
作为单一表达式组成部分,之间只由空格分隔的多个字符串字面值会被隐式地转换为单个字符串字面值。 也就是说,("spam " “eggs”) == “spam eggs”。