Python基本数据类型详解:整数、浮点数与布尔值

Leo
Leo
发布时间:2026-10-16| 5人浏览过
原创

本文详细解析Python中的三大基本数据类型:整数、浮点数和布尔值。内容涵盖整数在十进制、二进制、八进制及十六进制间的转换方法,包括bin、oct、hex及int函数的具体应用;探讨浮点数科学计数法表示及利用decimal和fractions模块解决精度丢失问题;最后解析布尔类型的取值逻辑及其与整数的转换关系。

1.Python的基本数据类型

所谓数据类型,即指输入数据的类别属性。在Python中,任何数据都拥有明确的数据类型标识:例如输入数值100,其类型为整数;输入7.7,类型为浮点数;而由字母、汉字或字母汉字组合构成的数据,则属于字符串类型。

Python主要包含三种基本数据类型:

  • 整数类型:用于表示数字。
  • 浮点数类型:用于表示带有小数点的数字。
  • 字符串类型:由字母、数字、汉字等任意字符组合而成。

可以通过type函数来查询某个数据的具体数据类型,并结合print函数将查询结果打印输出,其基本语法格式如下。

type(输入的数据) print(type(输入的数据))

接下来,我们将分别打印数值100、浮点数7.7以及字符串'aaas11sdj'的数据类型。

print(type(100))
print(type(7.7))
print(type('aaas11sdj'))

通过组合使用print函数与type函数,可以直观地查看并输出任意数据的具体类型。

2.整数类型的概念以及使用

2.1.整数类型的概念

关于整数类型的定义不再赘述。在计算机系统中,整数存在四种不同的进制表示法:十进制、二进制、八进制和十六进制。默认情况下,整数以十进制形式呈现。

  • 十进制即我们日常使用的整数,无特殊前缀含义。
  • 二进制以0b为前缀,仅包含0和1两个数字,这是计算机底层处理数据的基础。
  • 八进制以0o为前缀,包含0至7共八个数字。
  • 十六进制以0x为前缀,包含0-9十个数字以及A-F六个字母。

各种进制所包含的数字范围、逢几进一规则及计算方法详见下表:

进制类型基本数逢几进一 计算方法
十进制0/1/2/3/4/5/6/7/8/910118=8+1*10^1+1*10^2
二进制0/120b1110110=0+1*2^1+1*2^2+0*2^3+1*2^4+1*2^5+1*2^6=118
八进制0/1/2/3/4/5/6/780o166=6+6*8^1+1*8^2=118
十六进制0/1/2/3/4/5/6/7/8/9
A/B/C/D/E/F
160x76=6+7*16^118

进制类型基本数逢几进一计算方法

进制转换的计算技巧如下:

无论何种进制,其本质均为整数。进行进制间转换时,需依据“逢几进一”的原则。例如,将整数118转换为十进制:

逢十进一:118=8+1*10^1+1*10^2。计算时从最右侧(个位)开始,第一位数值不变,第二位数值乘以10的1次方,第三位数值乘以10的2次方,依此类推。数字位数有多少,就计算多少项,最后将所有结果相加,即可得到准确的十进制数值。

2.2.使用Python操作整数类型

print函数可将输入的整数(数字)转换为十进制数输出;也可结合特定的进制转换函数,将数据转换为指定进制的字符串;此外,还能通过print函数配合int整数函数,将传入的数据强制转换为整数类型。

1)使用print函数将输入的整数转换成十进制数

print函数在接收整数输入时,会自动识别该整数当前的进制格式,并通过内部运算将其转换为标准的十进制数进行输出。

#传入一个十进制数118,被print函数输出后得到十进制数118
print(118)

#传入一个二进制数0b1110110,被print函数输出后得到十进制数118
print(0b1110110)

#传入一个八进制数0o166,被print函数输出后得到十进制数118
print(0o166)

#传入一个十六进制数0x76,被print函数输出后得到十进制数118
print(0x76)

2)使用print函数将传入的数据根据进制函数转换成对应进制数

使用print函数时,若传入的是整数,可通过Python内置的进制转换函数,将该整数转换为对应进制的字符串表示。

Python提供了3个内置的进制转换函数,用于将十进制整数转换为对应进制的字符串格式。

  • bin():将传入的十进制整数转换为二进制字符串。
  • oct():将传入的十进制整数转换为八进制字符串。
  • hex():将传入的十进制整数转换为十六进制字符串。
#bin():将传入的十进制整数转换成二进制字符串
print(bin(118))
#返回0b1110110

# oct():将传入的十进制整数转换成八进制字符串。
print(oct(118))
#返回0o166

# hex():将传入的十进制整数转换成十六进制字符串。
print(hex(118))
#返回0x76

3)使用print函数配合int函数将传入的数据转换成整数

int函数可将传入的数据转换为整数,实质上也是创建整数的过程。在使用int函数处理整数时,主要涉及以下三种情况:

  • 当int函数不传入任何参数时,默认返回整数0。
  • 当int函数传入一个参数时,会将该参数转换为整数。例如,若传入小数,函数会直接截断小数部分,仅保留整数部分。
  • 当int函数传入两个参数时,第一个参数必须是数字(通常以字符串形式传入),第二个参数指定该数字当前的进制,函数随后会将其转换为十进制整数。
#当int函数不传入任何参数时,默认返回整数0
print(int())

#当int函数传入一个参数时,会将传递的参数转换成整数
print(int(118))				#转换成118
print(int(118.9))			#转换成118
print(int('117'))			#转换成117


#int函数传入两个参数
#传入数字118,这个数字是十进制,转换成对应的十进制数,得到的结果是118
print(int('118',10))
#传入数字0o166,这个数字是八进制,转换成对应的十进制数,得到的结果是118
print(int('0o166',8))

3.浮点数类型的概念以及使用

浮点数即指小数,我们可以直接使用print函数打印一个浮点数。

print(0.348923740932)
#得到结果0.348923740932

此外,还可以通过float函数来创建浮点数。其用法与int函数类似,通过float函数可以指定传入的数据在输出时表现为浮点数,但传入的参数必须是数值类型。

对于float函数而言,若不传入任何参数,默认返回浮点数0.0;当仅传递一个参数时,会将该参数转换为浮点数格式。

#不传入参数默认返回0
print(float())

#传入一个整数 被float转换成浮点数 结果为176.0
print(float(176))

#传入一个浮点数,被float转换成浮点数,结果不变:152.88
print(float(152.88))

另外,对于极大的数字(如几千万或几亿),我们也可以使用浮点数并通过科学计数法的形式来表示,以简化书写。

公式为:men

其中,m表示浮点数,e是固定写法表示乘以10,n表示10的n次方。

例如,若要计算浮点数5.27的10的7次方,写法即为5.27e7,计算过程为5.27*10^7,最终结果为52700000。

#52700000这个整数比较大,我们希望传参时简化输入的内容,少输入一点,基于这种情况可以通过float函数使用科学计数法的方式简化输入的内容
print(float(5.27e7))
#返回的结果为:52700000.0

#求5.27的10的-3次方是多少
print(float(5.27e-3))

需要注意的是,浮点数在运算过程中可能会出现精度不精准的现象,示例如下。

#运算结果非0
print(1.1+2.2+3.3)
#输出结果为6.6 精准。

#运算结果为0
print(1.1+2.2-3.3)
#输出结果为:4.440892098500626e-16 不精准。

针对此类浮点数运算精度丢失问题,我们可以使用decimal和fractions这两个模块中的类来解决。

使用decimal模块可以精确处理十进制浮点数运算,而使用fractions模块则可以处理分子分母相除后的浮点数运算。

1.使用decimal模块解决

#从decimal模块中导入Decimal类,Decimal可以理解为是decimal模块中的内置函数
from decimal import Decimal
#将浮点数传入Decimal类中,使用print进行运算
print(Decimal('1.1') + Decimal('2.2') - Decimal('3.3'))
#输出结果为:0.0 正确的结果

2.使用fractions模块解决

#从fractions模块中导入Fraction类,Fraction类可以理解为是fractions这个模块的内置函数
from fractions import Fraction
#将浮点数传入到Fraction类中,使用print进行运算
print(Fraction(11, 10) + Fraction(22, 10) - Fraction(33, 10))
#输出结果:0 正确的结果

4.布尔类型的概念以及使用

布尔类型仅包含两种取值:True或False,且严格区分大小写。

例如:“今天下雨吗?”或“今天回家吗?”均属于布尔表达式,其回答结果非True即False。

#当表达式为真时,返回True
print(5>3)
#当表达式为假时,返回False
print(6<2)

在Python中,True对应的数值为1,False对应的数值为0。

#TRUE的值为1,如果TRUE的值不为1,则会返回False
print(True == 1)

#False的值为0,如果False的值不为1,则会返回False
print(False == 0)

#为了进一步验证True和False的值,我们进行一组运算,True=1+False=0+10,返回结果为11,就表示我们的说法是正确的
print(True + False + 10)

以上就是详解Python开发语言中的基本数据类型的详细内容,更多关于Python基本数据类型的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。