6-1、Python 数据类型-数字类型、布尔类型

Python语言中 数字类型

数字类型是不可变类型。所谓的不可变类型,指的是类型的值一旦有不同了,那么
它就是一个全新的对象。数字1和2分别代表两个不同的对象,对变量重新赋值–个
数字类型,会新建一一个数字对象。

还是要强调一下Python的变量和数据类型的关系,变量只是对某个对象的引用或者
说代号、名字、调用等等,变量本身没有数据类型的概念。只有1,[1, 2], “hello”
这一类对象才具有数据类型的概念。

Python支持三种不同的数字类型,整数、浮点数和复数。

Python语言中 整数

通常被称为整型,数值为正或者负,不带小数点。

表示数字的时候,有时我们还会用八进制或十六进制来表示:
十六进制用0x前缀和0-9,a-f表示, 例如: 0xff00
八进制用0o前缀和0-7表示,例如0o45

python的整数长度为32位,并且通常是连续分配内存空间的。

>>> a = 1
>>> id(a)
504917008  # 所占内存空间地址
>>> b = 2
>>> id(b)
504917040  # 和a的相差32
>>> 

Python语言中 小整数对象池

python初始化的时候会自动建立一个小整数对象池,方便我们调用,避免后期重复生成!这是
一个包含262个指向整数对象的指针数组,范围是-5到256。 比如整数10,即使我们在程序里没
有创建它,其实在Python后台已经悄悄为我们创建了。

>>> id(b)
504917040
>>> id(10)
504917296
>>> id(11)
504917328
>>> id(-5)
504916816
>>> id(-6)
48328656   # 很明显和-5的不一样
>>> id(-4)
504916848 # 和-5的连续 相差32
>>> id(257)
48327440
>>> 

Python语言中 整数缓存区

>>> a = 100
>>> id(a)
504920176
>>> del a  # 删除
>>> a
Traceback (most recent call last):
  File "<pyshell#15>", line 1, in <module>
    a
NameError: name 'a' is not defined
>>> b = 100
>>> id(b)
504920176  # b 和 a  的内存空间地址是一样的
>>> 

Python语言中 浮点数

浮点数也就是小数,如1.23, 3.14, -9.01, 等等。但是对于很大或很小的浮点数,- 般用科学
计数法表示,把10用e替代,1.23x10^9就是1.23e9, 或者12.3e8, 0.000012可以写成1 .2e-5,
等等。

>>> a = 10
>>> float(a)
10.0
>>> b = 1.1
>>> int(b)
1
>>> c = 1.5
>>> int(b)
1            #不遵循四舍五入,只取整数

Python语言中 复数

复数由实数部分和虛数部分构成,可以用a + bj ,或者complex(a,b)表示,复数的实部a和虚部b都是浮点。

Python语言中 数据计算

函数               返回值(描述)
abs(x)            返回数字的绝对值,如abs(-10) 返回10
ceil(x)           返回数字的上入整数,如math. ceil(4.1)返回5
exp(x)            返回e的x次幂(ex),如math.exp(1)返回2. 718281828459045
fabs(x)           返回数字的绝对值,如math. fabs(-10)返回10.0
floor(x)          返回数字的下舍整数,如math. floor(4.9)返回4
log(x)            如math. log(math .e )返回1., math.1og(100, 10)返回2.0
log10(x)          返回以10为基数的x的对数,如math. log10(100)返回2.0
max(x1, x2,...)   返回给定参数的最大值,参数可以为序列。
min(x1, x2, ...)  返回给定参数的最小值,参数可以为序列。
modf(x)           返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
Pow(x, y)         x**y运算后的值。
round(x [,n])     返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x)           返回数字x的平方根
acos(x)           返回x的反余弦弧度值。
asin(x)           返回x的反正弦弧度值。
atan(x)           返回x的反正切弧度值。
atan2(y, x)       返回给定的x及Y坐标值的反正切值。
cos(x)            返回x的弧度的余弦值。
hypot(x, y)       返回欧几里德范数sqrt(xx + yy)
sin(x)            返回的x弧度的正弦值。
tan(x)            返回x弧度的正切值。
degrees(x)        将弧度转换为角度,如degrees (math.pi/2),返回90.0
radians(x)        将角度转换为弧度
>>> import math
>>> abs(-1)
1
>>> math.ceil(4.1)
5
>>> math.floor(4.5)
4
>>> 

Python语言中 布尔类型

对于0和1、正与反,都是传统意义上的布尔类型。
但在Python语言中,布尔类型只有两个值,True 与False。请注意,是英文单词的对与
错,并且首字母要大写,不能其它花式变型。
布尔值通常用来判断条件是否成立。

True和False转换为1和0来计算

In [1]: a = 1

In [2]: if a > 3:
   ...:     print("这是一个大于3的数字")
   ...: else:
   ...:     print("这是一个小于3的数字")
   ...:
这是一个小于3的数字

In [3]: a > 3
Out[3]: False

In [4]: 3 in [1,2,3]
Out[4]: True

In [5]: 3 == 9/3
Out[5]: True

In [6]: 3 is '3'
Out[6]: False

In [7]: bool(1)
Out[7]: True

In [8]: bool(0)
Out[8]: False

In [9]: True == 1
Out[9]: True

In [10]: True == 0
Out[10]: False

In [11]: False == 0
Out[11]: True

In [12]: bool(0.0)
Out[12]: False

In [13]: bool(-0.0)
Out[13]: False

In [14]: bool(-1)
Out[14]: True

In [15]: bool(False)
Out[15]: False

In [16]: bool('False')
Out[16]: True

In [17]: True and True
Out[17]: True

In [18]: True and False
Out[18]: False

In [19]: False and False
Out[19]: False

In [20]: 5>3 and 3>2
Out[20]: True

In [21]: True or True
Out[21]: True

In [22]: True > False
Out[22]: True

In [23]: True == 1
Out[23]: True

In [24]: False == 0
Out[24]: True

In [25]: True -1
Out[25]: 0

In [26]: False +1
Out[26]: 1

In [27]: True*3
Out[27]: 3

In [28]:

Python语言中 空值

空值不是布尔类型,严格的来说放在这里是不合适的,只不过和布尔关系比较紧密。

空值是Python里一个特殊的值,用None表示(首字母大写)。None不能理解为0,因为0
是整数类型,而None是一个特殊的值。None也不是布尔类型,而是NoneType。

>>> None == 0
False
>>> bool(None)
False
>>> type(None)
<class 'NoneType'>
>>> type(1)
<class 'int'>
>>> type(False)
<class 'bool'>
>>> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

度假的小鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值