Python内置数据类型详解:数字、变量与弱类型特性

沈知远
沈知远
发布时间:2026-10-14| 5人浏览过
原创

本文系统讲解Python内置的数字数据类型,涵盖整数、浮点数、复数及布尔类型。重点解析变量概念、赋值运算符及Python作为弱类型语言的特性,通过对比Java等强类型语言,阐明动态类型的优势。同时详细介绍整数的多进制表示法及浮点数的科学计数法书写规范,帮助初学者建立扎实的Python基础。

坚持学习,每日精进。本文属于【Python入门课程】系列的第四篇,核心内容聚焦于Python内置数据类型中的数字部分。内容实用性强,建议收藏以便日后查阅。读者如有疑问或需求,欢迎在评论区留言交流。

前言

本文主要解析Python内置数据类型中的数字类别,具体包括整数(int)、浮点数(float)、复数(Complex)以及布尔类型(bool)。文中所述内容均基于Python 3.x版本环境。

变量

在深入探讨数据类型之前,建议先思考以下三个问题:

  1. 数据在计算机中是如何存储的?
  2. 数据类型在实际编程中有何作用?
  3. 不同数据类型之间有何具体区别?

要解答上述问题,首先需要理解变量的概念。变量(Variable)可视为存放数据的容器,每个变量拥有唯一的名称,通过变量名即可访问其中存储的数据。从底层逻辑来看,变量即在计算机内存中开辟的一块区域,用于存放具体数据。与变量相对的是常量(Constant),二者均用于存储数据,区别在于常量一旦赋值便不可修改,而变量的值可被多次修改。

在编程语言中,将数据存入变量的过程称为赋值(Assignment)。Python使用等号=作为赋值运算符。由于变量属于标识符的一种,其命名必须遵循Python标识符的命名规范。


name=value

上述代码中,name为变量名,value为存入的数据。一个变量只能容纳一个值,若对已赋值的变量再次赋值,新值将覆盖旧值。示例如下:


a=100

该代码将数字100赋值给变量a。明确了变量概念后,第一个问题得以解答:数据通过变量存储在内存中,亦可持久化保存至硬盘。

数据类型总览

理清变量概念后,接下来总体介绍Python中的内置数据类型。如图所示思维导图所示,Python数据类型丰富,本文重点讲解属于数字范畴的几种类型,其他类型将在后续文章中介绍。

数据类型 作用 数据格式 举例
int(整数) 用于存放整数 100 100
float(小数) 用于存放小数 书写时必须包含小数点 100.1
complex(复数) 用于存放二元有序实数对 a+bj
bool(布尔类型) 用于存放布尔值True或者False True

Python是弱类型的语言

与Java、C语言等强类型编程语言不同,Python属于弱类型(动态类型)语言,其特点主要体现在:

  1. 定义变量时无需强制指定数据类型。变量无需预先声明即可直接赋值,对未存在的变量赋值即等同于定义新变量。
  2. 变量的数据类型可随时改变,例如同一变量可先被赋值为整数,随后又被赋值为字符串。

举例说明:若在Java中定义变量a并赋值100,写法为:


int a=100

而在Python中,写法简化为:


a=100

对比可见,Java要求声明变量a的类型为int,声明后只能赋值整数,无法赋值字符串等其他类型。Python则无此限制。需注意,弱类型不等于无类型,仅在书写时无需刻意声明,但内部仍保留数据类型,可通过type()方法查看。


>>> type(100)
<class 'int'>
>>> type(100.1)
<class 'float'>
>>> type(True)
<class 'bool'>
>>> type(2+10j)
<class 'complex'>

各数据类型的详细介绍

整数(int)

Python 3中的整数不分类型,即不存在长整数(Long)或短整数(short)之分,其取值范围无限,无论数值极大或极小,Python均可轻松处理。示例如下:


>>> 100000-0000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000
>>> print(-1000000000000000000000000000000000000000000000)
-1000000000000000000000000000000000000000000000

可见无论数值大小均不会溢出,这表明Python对整数的处理能力极强。

整数的不同进制

Python支持多种进制表示整数。

  • 十进制形式

日常常见的整数即为十进制形式,由0~9共十个数字排列组合而成。注意,十进制整数不能以0开头,除非数值本身即为0。

  • 二进制形式

由0和1两个数字组成,书写时需以0b或0B开头。例如,1001对应十进制数为9。

  • 八进制形式

八进制整数由0~7共八个数字组成,书写时需以0o或0O开头。注意,首字符为数字0,次字符为大写或小写字母O。

  • 十六进制形式

由0~9十个数字及A~F(或a~f)六个字母组成,书写时需以0x或0X开头。


# 二进制
a=0b1001
print('a=',a)
# 八进制
b=0o207
print('b=',b)
# 十六进制
c=0x45
print('c=',c)

运行结果如下:


a= 9
b= 135
c= 69

Python 3.x允许使用下划线_作为数字(含整数和小数)的分隔符,通常每隔三个数字添加一个下划线,例如:click = 1_301_547

浮点数/小数(float)

在编程语言中,小数通常以浮点数形式存储,浮点数与定点数相对;若存储过程中小数点发生移动,则称为浮点数;若小数点固定不动,则称为定点数。

小数的书写形式

Python中小数有两种书写形式:

  • 十进制形式

即常见的小数形式,如101.1、234.5、0.23等。

  • 指数形式

Python小数点指数形式的写法为:aEn或aen 其中a为尾数部分,为十进制数;n为指数部分,为十进制数;E或e为固定字符,用于分割尾数与指数部分,数学表达式为a×10^n。 示例: 2.3E5 = 2.3 × 10^5 再举一例:


x=10.01
print('x=',x)
y=-0.031
print('y=',y)
z=2.3E10
print('z=',z)
w=-0.00000001
print('w=',w)

运行结果如下:


x= 10.01
y= -0.031
z= 23000000000.0
w= -1e-08

复数(complex)

复数(complex)由实部(real)和虚部(imag)构成。在Python中,复数的虚部以j或J作为后缀,具体格式为:


a+bj

其中a表示实部,b表示虚部。


c1=100+2j
print("c1的值是:",c1)
c2=200+3J
print('C2的值是:',c2)

运行结果如下:


c1的值是 (100+2j)
C2的值是 (200+3j)

布尔类型(bool)

布尔类型用于表示真(对)或假(错)。例如常见的3>2比较算式,结果为正确,Python中使用True表示;而2>3比较算式结果为错误,使用False表示。


print(3>2)
print(2>3)
print('True==1的结果是:',True==1)
print('False==0的结果是:',False==0)

运行结果如下:


True
False
True==1的结果是: True
False==0的结果是: True

从上述代码可见,bool类型的True值对应整数值1,False值对应整数值0。

总结

本文主要介绍了Python内置数据类型中的数字部分,内容基础但重要,希望对读者有所帮助。

到此关于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 算法库。