一、Python基本数据类型一:数值类型

Python3数值数据类型支持int整型、float浮点数、complex复数、以及布尔值(01

Python2中,整数的大小是有限制的,即当数字超过一定的范围不再是int类型,而是长整型long但是在Python3中取消long,用int表示长整型

1、整数类型:int

◆ 进制

进制

表示

例子

十进制 decimal

无前缀数字

367

二进制 binary

0b前缀

0b101101111

八进制 octal

0o前缀

0o557

十六进制 hexadecimal

0x前缀

0x16f


>>> a = 0b101101111 >>> a 367

◆ 大小比较

m == n

相等比较

m是否等于n

m > n

大于比较

m是否大于n

m >= n

大于或等于比较

m是否大于或者等于n

m < n

小于比较

m是否小于n

m <= n

小于或等于比较

m是否小于或者等于n


>>> 7 >3 >= 3 True >>> 21 < 22 > 21 True >>> 21 < 22 > 23 False

◆ 运算

运算符

功能

备注

m + n

加法

 

m - n

减法

 

m * n

乘法

 

m // n

整数除法

结果是商的整数部分

m / n

除法

“真”除法,得到小数

m % n

求余数

 

divmod(m ,n)

求整数除法和余数

 

m ** n

求乘方

整数mn次方

abs(m)

求绝对值

 

>>> m = 33 >>> n = 22 >>> m, n (33, 22) >>> divmod(m, n) (1, 11) >>> m % n 11 >>> m / n 1.5 >>> m // n 1 >>> abs(-111) 111

 

2、浮点数:float

◆ 操作与int类似

◆ 只有17位有效数字,符合国际IEEE标准

◆ 进度转换导致精度误差

>>> 4.2 + 2.1
6.300000000000001

 

3、复数:complex

◆ 复数与复数之间只能比较是否相等,不能比较大小

>>> (1 + 2j) * (2 + 3j)
(-4+7j)
>>> (1 + 2j) / (2 + 3j)
(0.6153846153846154+0.07692307692307691j)
>>> (1+2j) ** 2
(-3+4j)
>>> (1+2j).imag
2.0
>>> (1+2j).real
1.0
>>> 

 

4、逻辑类型:bool

◆  Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True False 定义成关键字了,但它们的值还是 1 0,它们可以和数字相加

◆ 运算

 与运算 and

 或运算 or

 非运算 not

>>> a = 1
>>> b = 0
>>> c = 1
>>> print((a and b), (a and c), (b or c), not(b), not(a))
0 1 1 True False
>>> a = True
>>> b = False
>>> c = True
>>> print((a and b), (a and c), (b or c), not(b), not(a))
False True True True False

◆ 优先级:not > and > or

>>> a and b or not(b)
True

 

5、查询数值类型

◆ 可以用内置的 type() 函数或者isinstance ()函数

>>> a = 100
>>> b = 'abc'
>>> print(type(a),type(b))
<class 'int'> <class 'str'>
>>> print(isinstance(a, int), isinstance(b, int))
True False

◆ 两者的区别是

    type()不会认为子类是一种父类类型。

    isinstance()会认为子类是一种父类类型。

>>> class A:
    pass

>>> class B(A):

    pass

>>> isinstance(A(), A)
True
>>> isinstance(B(), A)
True
>>> type(A()) == A
True
>>> type(B()) == A
False

 

    

posted @ 2020-07-22 16:11  爱喝奶茶的CC怪  阅读(727)  评论(0)    收藏  举报