Python基础:数据类型-数字(5)

时间:2023-12-09 12:14:13

在Python中,所有的数据类型都是类,每一个变量都是类的实例。

Python中有6种标准数据类型:数字(Number)、字符串(String)、列表(List)、元组(Tuple)、集合(Sets)和字典(Dictionary)。

Python基础:数据类型-数字(5)

1.数字类型

  Python中数字类型:整数类型、浮点类型和复数类型。

1.1 整数类型(int)

  Python整数类型为int,整数类型的范围可以很大,可以表示很大的整数,只受所在计算机硬件的限制。

  Python 3 不再区分整数和长整数,所有需要的整数都可以是长整数。

  默认情况下,一个整数值表示十进制数。其它进制的表示方式:

  ◊ 二进制数:以0b或0B为前缀。(注:0为阿拉伯数字)

  ◊ 八进制数:以0o或0O为前缀。(注:第一个字符是阿拉伯数字0,第二个字符是英文字母o或O)

  ◊ 十六进制数:以0x或0X为前缀。(注:0为阿拉伯数字)

>>> 28
28
>>> 0b11100
28
>>> 0o34
28
>>> 0x1C
28

1.2 浮点类型(float)

  浮点类型用来存储小数数值,Python中浮点类型为float,Python只支持双精度的浮点类型,且与本机有关。

  浮点类型可以使用小数表示,也可以使用科学计数法表示。科学计数法中使用大写或小写的e表示10的指数,如e2表示102

>>> 1.0
1.0
>>> 3.6e2
360.0
>>> 3.6e-2
0.036

1.3 复数类型

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

  Python中复数类型为complex。

>>> 1 + 2j
(1+2j)
>>> complex(1,2)
(1+2j)
>>> complex(1,2) + complex(1,2)
(2+4j)

1.4 布尔类型

  Python中布尔类型为bool,bool是int的子类。bool类型只有两个值:True和False。

  任何类型数据都可以通过bool()函数转换为布尔值,“没有的”或“空的”值会转换为False,反之转换为True。如:None(空对象)、False、0、0.0、0j(复数)、''(空字符串)、[](空列表)、()(空元组)和 {}(空字典)这些值会转换为False,否则是True。

>>> bool(0)
False
>>> bool(1)
True
>>> bool('')
False
>>> bool(' ')
True
>>> bool(None)
False
>>> bool([])
False
>>> bool({})
False

2.数据类型转换

  Python数据类型转换包括隐式类型转换和显式类型转换。

2.1 隐式类型转换

  隐式类型转换规则:

操作数1类型 操作数2类型 转换后的类型
布尔 整数 整数
布尔、整数 浮点 浮点
>>> a = 1 + True
>>> a
2
>>> type(a)
<class 'int'>
>>> a = 1.0 + 1
>>> a
2.0
>>> type(a)
<class 'float'>
>>> a = 1.0 + True
>>> a
2.0
>>> type(a)
<class 'float'>
>>> a = 1.0 + 1 + True
>>> a
3.0
>>> type(a)
<class 'float'>

2.2 显式类型转换

  显式类型转换函数:

  (1)int(x):将x转换为一个整数。可以将布尔、浮点转换为整数。

        布尔值:True转换为1,False转换为0;

        浮点数值:转换后截掉小数部分。

>>> int(True)
1
>>> int(False)
0
>>> int(12.6)
12

  (2)float(x):转换为一个浮点数。可以将布尔值、整数转换为浮点。

        布尔值:True转换为1.0,False转换为0.0;

        整数值:转换后加上小数部分“.0”。

>>> float(True)
1.0
>>> float(False)
0.0
>>> float(1)
1.0

  (3)complex(x):将x转换为一个复数,实数部分为x,虚数部分为0。

>>> complex(1)
(1+0j)

    complex(x, y):将x和y转换为一个复数,实数部分为x,虚数部分为y。

>>> complex(1, 2)
(1+2j)