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

简介: 学习了解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'>
>>> 



相关文章
|
11天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
54 8
|
20天前
|
Python
Python 中一些常见的数据类型
Python 中一些常见的数据类型
70 8
|
26天前
|
Python
Python中不同数据类型之间如何进行转换?
Python中不同数据类型之间如何进行转换?
25 6
|
26天前
|
存储 开发者 Python
Python 的数据类型
Python 的数据类型
32 6
|
1月前
|
Python
在 Python 中实现各种类型的循环判断
在 Python 中实现各种类型的循环判断
33 2
|
2月前
|
存储 数据安全/隐私保护 索引
|
1月前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
26 0
WK
|
2月前
|
存储 Python
Python内置类型名
Python 内置类型包括数字类型(int, float, complex)、序列类型(str, list, tuple, range)、集合类型(set, frozenset)、映射类型(dict)、布尔类型(bool)、二进制类型(bytes, bytearray, memoryview)、其他类型(NoneType, type, 函数类型等),提供了丰富的数据结构和操作,支持高效编程。
WK
21 2
|
6月前
|
Python
python 中*类型对象
【6月更文挑战第9天】
34 2
|
2月前
|
存储 缓存 算法
详解 PyTypeObject,Python 类型对象的载体
详解 PyTypeObject,Python 类型对象的载体
45 3
下一篇
DataWorks