文章目录
一、总结
- 数字类型:
int
,float
,complex
- 布尔类型:
bool
- 序列类型:
- 字符串类型:
str
- 列表类型:
list
- 元组类型:
tuple
- 字符串类型:
- 字节串类型:
bytes
- 字典类型:
dict
- 集合类型:
set
,frozenset
- 空类型:
NoneType
- 异常:
Exception
,ValueError
,TypeError
- 文件
- 其他可迭代对象
- 编程单元
二、数字
1.整数int
(1)特点
- 可正可负,没有取值范围限制,想算多大就算多大
(2)进制
表现形式:
- 十进制:100
- 二进制:以
0b
或0B
开头,0b101
- 八进制:以
0o
或0O
开头,0o123
- 十六进制:以
0x
或0X
开头,0x9a
把数字转化成字符串:
bin(obj)
:转换为二进制串oct(obj)
:转换为八进制串hex(obj)
:转换为十六进制串
a = 123
b = bin(a)
o = oct(a)
h = hex(a)
print(b)
print(type(b))
print(o)
print(type(o))
print(h)
print(type(h))
'''
0b1111011
<class 'str'>
0o173
<class 'str'>
0x7b
<class 'str'>
'''
把字符串转化成数字:
int(str, n)
:将字符串str表示的n进制数转化成十进制的int- 自动过滤空白字符
print(int('0b1111011', 2))
print(int('1111011', 2))
print(int('0o173', 8))
print(int('173', 8))
print(int('0x7b',16))
print(int('7b',16))
print(int('\n\t 123 '))
print(int('\n\t 7b ',16))
'''
都是123
'''
2.浮点数float
- (1)取值范围和小数精度基本无限制,可以忽略不计:数量级为-10的308次方到10的308次方,精度为10的-16次方
- (2)不确定尾数:0.1+0.2=0.30000000000000004,一般发生在10的-16次方左右
因为二进制表示小数,可以无限接近,但不完全相同 - (3)科学记数法:
<a>e<b>
或者<a>E<b>
表示
如4.3e-3
表示 ,即0.0043 - (4)函数
round(x,d)
:对x四舍五入,d是小数截取位数
# 判断0.1 + 0.2 == 0.3
print(0.1 + 0.2)
'''
0.30000000000000004
'''
print((0.1 + 0.2)==0.3)
'''
False
'''
print(round(0.1 + 0.2, 1)==0.3)
'''
True
'''
3.复数complex
>>> a = 3+4j
>>> b = 5+6j
>>> c = a+b
>>> c
(8+10j)
>>> c.real #查看复数实部
8.0
>>> c.imag #查看复数虚部
10.0
>>> a.conjugate() #返回共轭复数
(3-4j)
>>> a*2 #复数与整数乘法
(6+8j)
>>> a*b #复数与复数乘法
(-9+38j)
>>> a/b #复数除法
(0.6393442622950819+0.03278688524590165j)
4.扩展关系
整数- >浮点数->复数。例如:123+4.0=127.0
5.数字分隔符
在数字中间位置使用单个下划线作为分隔来提高数字的可读性。(满足这两个条件就随意划分)
>>> 1_000_000 # 整数int
1000000
>>> 1_2_3_4 # 整数int
1234
>>> 1_2.3_45 # 浮点数float
12.345
>>> 1_2 + 3_4j # 复数complex
(12+34j)
6.数值运算函数
函数:
(1)abs(x)
:
- 整数int和浮点数float:绝对值
- 复数complex:取模
print(abs(-12))
print(abs(-12.3))
print(abs(3+4j))
'''
12
12.3
5.0
'''
(2)divmod(x,y)
:商余(以元组tuple(x//y, x%y)
的形式同时输出商和余数)
print(divmod(10,3))
'''
(3,1)
'''
(3)pow(x,y[,z])
:幂。z参数代表用幂结果取余
- 无z: ,浮点数整数都行
- 有z: ,只能是整数
print(pow(2, 4))
print(pow(2.5, 2.0))
print(pow(2, 4, 3))
# print(pow(2.5, 2.0, 2)) # TypeError
'''
16
6.25
1
'''
(4)round(x[,d])
:整数(没必要)和小数的四舍五入。d是保留小数位数,默认为0。
扫描二维码关注公众号,回复:
10416765 查看本文章
print(round(3.6))
print(round(-10.123, 2))
# print(round(5+4j)) # TypeError
'''
4
-10.12
'''
(5)max(...)
:最大值(只用于整数和小数)
print(max(1, 2.0, 5))
# print(max(3+4j, 5+6j)) # TyperError
'''
5
'''
(6)min(...)
:最小值
(7)int(x)
:变整数
- 浮点数float:截断小数部分,不是四舍五入
- 字符串str:只有表示整数的才行
print(int(123.56)) # 将浮点数截断成整数
'''
123
'''
print(int("123")) # 将表示整数的字符串化为整数
'''
123
'''
# print(int("123.56")) # ValueError
(8)float(x)
:变小数
- 整数int:单单加一位小数部分
.0
- 字符串str:表示小数整数都行
print(float(12)) # 整数变小数
'''
12.0
'''
print(float("1.23")) # 将(表示小数)字符串str变为小数
'''
1.23
'''
print(float("1")) # 将(表示整数)字符串str变为小数
'''
1.0
'''
(9)complex(x)
:变复数
print(complex(4))
print(complex(4.9))
'''
(4+0j)
(4.9+0j)
'''
7.运算符
# 真除法/和整除//
>>> 3 / 5
0.6
>>> 3 // 5
0
>>> 3.0 / 5
0.6
>>> 3.0 // 5
0.0
>>> 13 // 10
1
>>> -13 // 10
-2
# Python不支持++和--运算符,存在但实际上是另外的含义(正负号)
>>> i = 3
>>> ++i #正正得正
3
>>> +(+3) #与++i等价
3
>>> --i #负负得正
3
>>> -(-i) #与--i等价
3
>>> i++ #Python不支持++运算符,语法错误
SyntaxError: invalid syntax
>>> i-- #Python不支持--运算符,语法错误
SyntaxError: invalid syntax
PS:python没有++
、--
的运算符,那就写a+=1
三、布尔类型bool
1.两个值
True
和False
,首字母必须大写
2.等同数字
Python内部把True
当作1
处理,把False
当作0
处理
>>> True + 3 # Python内部把True当作1处理
4
>>> False + 3 # 把False当作0处理
3