第2章 基本数据类型
1 数字类型
1.1 整数类型
整数类型有4种进制表示:十进制、二进制、八进制和十六进制。默认情况下,整数使用十进制,其他进制需要增加引导符号。
| 进制种类 |
引导符号 |
| 十进制 |
无 |
| 二进制 |
0b 或 0B |
| 八进制 |
0o 或 0O |
| 十六进制 |
0x 或 0X |
pow(x, y) 函数是 Python 语言的内置函数,用来计算x的y次方。
1.2 浮点数类型
Python 语言要求所有浮点数必须带有小数,小数部分可以是0。
浮点数的表示方法有两种:十进制表示和科学计数法表示。
科学计数法使用字母e或E作为幂符号,以10为基数:a乘10的b次方
1.3 复数类型
Python 语言中,复数的虚部通过后缀“J”或“j”来表示,例如:
复数类型中实数部分和叙述部分的数值都是浮点数类型。对于复数z,可以用 z.real 和 z.imag 分别获得它的实数部分和虚数部分。
1.4 数字类型的操作
- 内置的数值运算操作符:
| 操作符 |
描述 |
| x + y |
x 与 y 之和 |
| x - y |
x 与 y 之差 |
| x * y |
x 与 y 之积 |
| x / y |
x 与 y 之商 |
| x // y |
x 与 y 之整数商,向下取整(去尾) |
| x % y |
x 与 y 之商的余数 |
| -x |
x 的负数 |
| +x |
x 本身 |
| x ** y |
x 的 y 次方 |
- 内置的数值运算函数:
| 函数 |
描述 |
| abs(x) |
x 的绝对值 |
| divmod(x, y) |
(x//y, x%y),输出为二元组形式 |
| pow(x, y[, z]) |
(x**y)%z |
| round(x[, ndigits]) |
对 x 四舍五入,保留 ndigits 小数。round(x) 返回四舍五入整数值 |
| max(x1, x2, ..., xn) |
返回最大值 |
| min(x1, x2, ..., xn) |
返回最小值 |
- 内置的数字类型转换函数
| 函数 |
描述 |
| int(x) |
将 x 转换为整数,x 可以是浮点数或字符串 |
| float(x) |
将 x 转换成浮点数,x 可以是整数或字符串 |
| complex(re[, im]) |
生成一个复数,实部为 re,虚部为 im,re 可以是整数、浮点数或字符串,im 可以是整数和浮点数 |
2 字符串类型(str)
2.1 字符串类型的表示
| 单引号 `字符串1`
双引号 "字符串2"
三单引号 ```字符串3```
三双引号 """字符串4"""
|
2.2 转义字符
| 转义字符 |
含义 |
| \n |
换行符 |
| \t |
制表符 |
| \r |
回车 |
2.3 内置的字符串操作符
| 操作符 |
描述 |
| x + y |
连接两个字符串 x 与 y |
| x * n 或 n * x |
复制 n 次字符串 x |
| x in s |
如果 x 是 s 的子串,返回 True,否则返回 False |
| x not in s |
如果 x 不是 s 的子串,返回 True,否则返回 False |
| str[i] |
索引,返回第 i 个字符 |
| str[M: N] |
切片,返回索引从 M 到 N-1 的子串 |
| str[M: N: K] |
步骤切片,返回从 M 到 N-1 以 K 为步长的子串 |
2.4 内置的字符串处理函数
| 函数 |
描述 |
| len(x) |
返回字符串 x 的长度,也可返回其他组合数据类型元素个数 |
| str(x) |
返回任意 x 所对应的字符串 |
| chr(x) |
返回 Unicode 编码 x 对应的单字符 |
| ord(x) |
但会单字符表示的 Unicode 编码 |
| hex(x) |
返回整数 x 对应十六进制数的小写形式字符串 |
| oct(x) |
返回整数 x 对应八进制数的小写形式字符串 |
2.5 内置字符串处理方法
| 方法 |
描述 |
| str.lower() |
全部字符小写 |
| str.upper() |
全部字符大写 |
| str.islower() |
当 str 所有字符都是小写时,返回 True,否则返回 False |
| str.isprintable() |
当 str 所有字符都是可打印的,返回 True,否则返回 False |
| str.isnumeric() |
当 str 所有字符都是数字时,返回 True,否则返回 False |
| str.isspace() |
当 str 所有字符都是空格时,返回 True,否则返回 False |
| str.endswith(suffix[, start[, end]]) |
str[start: end] 以 suffix 结尾返回 True,否则返回 False |
| str.startswith(prefix[, start[, end]]) |
str[start: end] 以 prefix 开头返回 True,否则返回 False |
| str.split(sep=None, maxsplit=1) |
返回一个列表,由 str 根据 sep 被分隔的部分构成 |
| str.index(x[, i[, j]]) |
返回字符串 str 从 i 开始到 j 第一次出现字符 x 的位置 |
| str.count(sub[, start[, end]]) |
返回 str[start: end] 中 sub 子串出现的次数 |
| str.replace(old, new[, count]) |
所有 old 字符被替换为 new,如果 count 给出,则前 count 次 old 被 new 替换 |
| str.center(width[, fillchar]) |
字符串居中,width 表示字符宽度,fillchar 表示填充字符 |
| str.strip([chars]) |
返回字符 str 的副本,在其左侧和右侧去掉 chars 中的字符 |
| str.zfill(width) |
返回字符串 str 的副本,长度为 width,不足部分在左侧添0 |
| str.format() |
返回 字符串 str 的一种排版格式 |
| str.join() |
返回一个新字符串,由组合数据类型 iterable 变量的每个元素组成,元素间用 str 分割 |
2.6 字符串类型的格式化
字符串格式化函数 format()方法的基本使用格式如下:
| <模版字符串>.format(<逗号分割的参数>)
|
format()方法中模版字符串的占位符{ }除了包括参数序号,还可以包括格式控制信息。
占位符内部样式如下:
其中,格式控制标记用来控制参数显示时的格式,格式内容如下:
| : |
<填充> |
<对齐> |
<宽度> |
<,> |
<.精度> |
<类型> |
| 引导符号 |
用于填充的单个字符 |
<左对齐,>右对齐,^居中 |
占位符宽度 |
数字类型的千位分隔符 |
浮点数小数部分的精度或字符串的最大长度 |
整数类型b,c,d,o,x,X,浮点数类型e,E,f,% |