数字类型概述

Python中包含三种数字类型:整数(int)、浮点数(float)和复数(complex)。整数仅包含数字,浮点数带有小数点,复数由实部(可能为0)和虚部(以J或j表示)组成。这些类型支持混合运算,并且布尔值被视为整数子类型。然而,由于浮点数的精度问题,直接用作字典键或集合元素可能存在风险。要创建这些类型的数字,可以使用int()、float()和complex()构造函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数字类型概述

数字类型属于内置类型。有三种不同的数字类型:整数,浮点数和复数。

整数通常只有数字,浮点数有小数点,而复数有实部(省略则为 0)和虚部,虚部必须有 J 或 j。

它们的类型分别是 int,float 和 complex。

type(1), type(1.0), type(1j)
(int, float, complex)

它们虽然属于不同的类型,但 Python 完全支持其混合运算。

而且布尔类型属于整数类型的子类型,布尔类型也可参与混合运算。

True/3 + 1.5 - 1J
(1.8333333333333333-1j)

数字之间比较时,比较的是它们的精度决定的精确值:

True == 1 == 1.0
True

对于不同类型的数字,只要精确值相等,哈希值必定相等:

hash(True) == hash(1) == hash(1.0)
True

因此作为集合的元素时,它们是一个元素;作为字典的键时,是同一个键。但这不是明智之举,因为浮点数存在精度问题:

{True, 1, 1.0}
{True}
{True:1, 1:2, 1.0:3}
{True: 3}
1.00000000000000009 == 1
True

整数,浮点数和复数的构造函数分别是:int()float()complex()。构造细节详见相应内置函数知识点。

int('1'), float('1.0'), complex('1')
(1, 1.0, (1+0j))

关于各数字类型的特性和详细介绍见后面章节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值