时间:2021/08/29
文章目录
1.数字类型
1.1整数类型
-
python中的整数没有取值范围的限制,理论上来讲只要内存能够存储,python可以使用任意大小的整数
-
整数类型有4种进制表示方式:二进制、八进制、十进制、十六进制
-
默认采用十进制,其它进制需要增加引导符号
进制种类 | 引导符号 | 描述 |
---|---|---|
十进制 | 无 | 默认情况 12 56 89 |
二进制 | 0b或0B | 由0和1组成,例:0b1001 |
八进制 | 0o或0O | 由0到7组成,例:0o5762 |
十六进制 | 0x或0X | 由0到9,A到F或a到f组成,例:0x55fe |
- 电脑自带计算器
1.2浮点数类型
-
浮点数表示带有小数的数值
-
两种表示方法:
- 十进制
- 例:10.0
- e记法,即科学计数法
- 例:1.01e3表示1.01* 10^3
- 十进制
-
python语言的浮点数运算存在一个“不确定尾数”问题,即两个浮点数运算时,有可能会增加一些“不确定”的尾数
-
这不是计算机运行错误,可以理解为误差。
-
计算机内部使用二进制表示浮点数,受计算机表示浮点数使用的存储宽度限制,这个二进制数不完全等于0.1,而是接近0.1 ,0.2同理。
-
计算机内部使用最接近0.1和0.2的两个二进制数进行运算,产生了接近0.3的二进制数,转换成十进制就产生了不确定的尾数
不确定尾数问题会对浮点数运算结果的判断造成干扰
1.2.1round()函数
- 用于进行四舍五入的运算,去掉不确定尾数
a = 0.1 + 0.2
# 直接打印结果会有不确定尾数
print(a)
print(a == 0.3)
# 四舍五入之后打印输出
# round(需要处理的参数,保留几位有效数字)
print(round(a,2))
print(round(a,2) == 0.3)
1.3复数类型
- 表示数学中的复数,使用a + bj的形式表示,称为实部和虚部
2.数字类型的运算
2.1数值运算操作符
操作符及运算 | 描述 |
---|---|
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 次幂,即y 个 x 相乘 |
2.2增强赋值操作
- 数值运算符余赋值运算符相连组成
- +=、-=、*=、/=、//=、%=、**=
- 数值运算符和赋值运算符之间不能有空格
a,b,c = 2,3,6
# a += 6和 a = a+6
a += 6
print(a) # 输出8
# b *= 4和 b = b*4
b *= 4
print(b)# 输出12
# c **= 2和 c = c**2
c **= 2
print(c)# 输出36
2.3数值运算函数
函数 | 描述 |
---|---|
abs(x) | x的绝对值 |
divmod(x,y) | (x//y,x%y)输出元组形式的商和余数 |
pow(x,y)或pow(x,y,z) | x * * y或(x* * y)%z,幂运算 |
round(x)或round(x,d) | 对x进行四舍五入保留d位小数,d省略则返回四舍五入的整数值 |
max(x1,x2,…xn) | N个数的最大值 |
min(x1,x2,…xn) | N个数的最小值 |
# -30的绝对值
print(abs(-30))
# 15除以6等于2余3
print(divmod(15,6))
# 2的3次方
print(pow(2,3))
# 2的3次方模5
print(pow(2,3,5))
# 四舍五入保留的小数位
print(round(3.1415926,2))
# 默认取整
print(round(3.1415926))
# 取最大值
print(max(10,35,65,9,26))
# 取最小值
print(min(10,35,65,9,26))
3.字符串类型及格式化
3.1字符串
- 字符串又叫字符序列
- 单行字符串
- 可由一对单引号或双引号作为边界
- 多行字符串
- 由一对三单引号或三双引号作为边界
- 单行字符串
3.2转义字符
-
“/”斜杠,“\”反斜杠
-
反斜杠在python中表示“转义”,即该字符与后面相邻的一个字符共同组成了新的含义
-
常见的转义字符:
- \n表示换行
- \表示反斜杠
- '表示单引号
- "表示双引号
- \t表示制表符
3.3字符串索引
- 对字符串中某个字符的检索称为索引
- 语法:
- 字符串或字符变量[序号]
- 字符串的索
- 正向递增序号
- 注意取值范围[0:N],有效范围是[0,N-1]
- 逆向递减序号
- 正向递增序号
3.4字符串的切片
- 对字符串中某个子串或区间的检索称为切片
- 语法:字符串或字符串变量[N:M]
- 切片获取字符串N到M(不包含M)的子字符串
- 如果N大于M,则返回空字符串。N缺失,则默认将N设为0;M缺失,则默认表示到字符串结尾
3.4.1 format()方法的基本使用
-
用于解决字符串和变量同时输出时的格式安排问题
-
语法:模板字符串.format(逗号分隔的参数)
-
模板字符串是一个字符串和槽“{}”组成的字符串,用来控制字符串和变量的显示效果
-
如果模板字符串有多个槽,槽内没有序号,则按照槽出现的顺序分别对应format()方法中的不同参数。
-
format()方法中参数根据出现先后存在一个默认序号
-
通过format()参数的序号,在模板字符串槽中指定参数的使用,参数从0开始编
-
槽的个数与参数的个数要对应,否则抛出异常
3.4.2 format()方法的格式控
- format()方法使用格式控制标记来控制参数显示时的格式
- 语法:{参数序号:格式控制标记}
样式 | 格式 |
---|---|
: | 引号符号 |
填充 | 用于填充单个字符 |
对齐 | <左对齐,>右对齐,^居中对齐 |
宽度 | 槽的设定输出宽度 |
, | 数字的千位分隔符,适用于整数和浮点数 |
.精度 | 浮点数小数部分的精度或字符串的最大输出长度 |
类型 | 整数类型b,c,d,o,x,X浮点数类型e,E,f,% |
- 用于显示格式的规范:填充、对齐、宽度
- 宽度:当前槽的设定输出字符宽度,默认左对齐以空格字符填充
- 对齐:默认是左对齐
- 填充:默认是空格字符串填充,填充字符只能是一个
- 用于对数值本身的规范:,、.精度、类型
- 逗号(,):用于显示数字类型的千位分隔符
- .精度:有小数点(.)开头
- 对于浮点数,精度表示小数部分输出的有效位数,即数学中的精确到哪一位
- 对于字符串,精度表示输出的最大长度。如果小数点保留长度超过应输出的长度,以应输出长度为准。
- 类型:表示输出整数和浮点数类型的格式规则
- 整数类型输出格式:
- b:输出整数的二进制
- c:输出整数对应的Unicode字符
- d:输出整数的十进制形式
- o:输出整数的八进制形式
- x:输出整数的小写十六进制形式
- X:输出整数的大写十六进制形式
- 浮点数类型输出格式:
- e:输出浮点数对应的小写字母e的指数形式
- E:输出浮点数对应的大写字母E的指数形式
- f:输出浮点数的标准浮点形式
- %:输出浮点数的百分比形式
- 整数类型输出格式:
4.字符串类型的操作
4.1 字符串操作符
操作符 | 描述 |
---|---|
x + y | 连接两个字符串x与y |
x * n或n * x | 复制n次字符串x |
x in s | 如果x是s的子串,返回True,否则返回False |
4.2 字符串处理函数
函数 | 功能 |
---|---|
len(x) | 返回字符串x的长度、也可以返回其它组合数据类型的元素个数 |
str(x) | 返回任意类型x所对应的字符串形式 |
chr(x) | 返回Unicode编码x对应的单字符 |
ord(x) | 返回单字符x表示的Unicode编码 |
hex(x) | 返回整数x对应十六进制的小写形式字符串 |
oct(x) | 返回整数x对应八进制的小写形式字符串 |
- len(x):返回字符串x的长度,以Unicode字符为计数单位,中英文字符及标点符号等都是1个长度单位
- str(x)返回x的字符串形式,其中x是数字类型或其它类型
- chr(x)和oct(x)分别返回整数x对应十六进制和八进制值的字符串形式,字符串以小写形式表示
4.3 字符串处理方法
方法 | 功能 |
---|---|
str.lower() | 返回字符串str的副本,全部字符小写 |
str.upper() | 返回字符串str的副本,全部字符大写 |
str.split(sep=None) | 返回一个列表,有str根据sep被分割的部分构成,省略sep默认以空格分隔 |
str.count(sub) | 返回sub子串出现的次数 |
str.replace(old,new) | 返回字符串str的副本,所有old子串被替换成new |
str.center(width,fillchar) | 字符串居中函数,fillchar参数可选 |
str.strip(chars) | 从字符串str中去掉在其左侧和右侧chars中列出的字符 |
str.join(item) | 将item变量的每一个元素后增加一个str字符串 |
字符串副本说的是返回一个新的字符串,但不改变原来的str
- str.lower()和str.upper()是一对方法,能够将字符串的英文字符变成小写或大写
- str.split(sep)是一个十分常用的方法,能够根据sep分割字符串str。str不是必需的,默认采用空格分割,sep可以是单个字符,也可以是一个字符串,分割后的内容以列表类型返回
- str.count(sub)方法返回字符串str中出现sub的次数,sub是一个字符串
5.类型判断和类型转换
- python提供type(x)函数对变量x进行类型判断,适用于任何数据类型
- 隐式类型转换:数值运算操作符可以隐式地转换输出结果的数字类型,例如除法运算
- 显式类型转换:通过类型转换函数可以显示地在数字类型之间进行转换
函数 | 功能 |
---|---|
int(x) | 将x转换成整数,x可以是浮点数或字符串 |
float(x) | 将x转换成浮点数,x可以是整数或字符串 |
str(x) | 将x转换成字符串,x可以是整数或浮点数 |
浮点数转换成整数类型时,小数部分会被舍弃(不采用四舍五入)