Python 数字类型:探索整数、浮点数和基本运算

Python 数字类型:探索整数、浮点数和基本运算

Python 数字是任何程序员基本工具包的重要组成部分。许多人认为掌握这种数据类型对于改进代码并将其转化为完美的语法至关重要。

Python Number Types

Image: 字母算法

作为 我们在 Python 数据类型部分中提到,整数、浮点数和复数用于解决算术、几何和统计性质的数学问题。

今天我们将深入了解 Python 的基本数学构建块及其分类:

Python 整数

Image: 字母算法

简单地说,整数是没有小数位的数字(整数)。就像在数学中一样,整数可以是正数或负数,没有小数部分。

例如:

-1,0,1,2,33,1000 都是整数

尽管

-1.0、0.0、0.5、1.1、1.564、2.7、23.67 不是

在 Python 中,整数通常称为 int,并且此类数据类型在代码中使用 int 语法进行标记。每次看到没有小数的数字时,您都可以轻松发现它们。

使用 Python 类型函数识别数据类型

使用 type 函数仔细检查变量的数据类型可以为您节省大量时间和混乱,特别是如果您仍在学习绳索。

您可以通过键入整数并将所述数字分配给变量来创建整数。但是,假设无论出于何种原因,您都不确定您正在处理哪种类型的数据,并且想要检查 Python 如何识别您的输入。

这就是 Python 最酷的内置函数之一发挥作用的地方,Type 函数:type ()

例子:

 一个 = 18

Python 解释器逐行评估输入。键入变量并为其赋值(使用等号,在 Python 中称为赋值运算符)后,您可以按键盘上的 Enter 键,将您带到下一行代码。

详细地说,这段代码告诉计算机在内存中留出一个盒子,将其标记为“a”,然后将一个整数(在本例中为十)放入该盒子中。

现在你已经为你的变量赋值了,你现在可以通过将“a”变量放在括号中来命令 Python 打印“a”的类型函数,如下所示:

 一个 = 18 打印(类型(a))

每次您在代码中使用 print(type ( )) 并运行代码时,都会保证获得一个返回值(称为输出),该值指定您正在处理的数据类型。

运行程序后终端显示:

 < **班级** 'int'>

请注意 Python 如何为您提供指定变量分类的返回值(在一对尖括号之间)。这意味着变量“a”属于 int 类,因为它保存一个整数(没有小数部分的整数)作为其值。

你可能想知道:你如何输入一个超过三位数的整数?

通常,您会使用逗号分隔数字,但在 Python 中,逗号用于分隔字符串或列表中的值(稍后将详细介绍这些数据类型)。

为避免任何不必要的混淆,您可以在原来的逗号位置放置下划线。

例子:

通常:1,000

在 Python 中:1_000

但是,如果您需要处理十进制数怎么办?这就是浮点数据类型的用武之地!

Python 浮点数

Image: 字母算法

浮点数是具有十进制值的数字(负数或正数)。与整数不同,它们显示小数部分(即使它的值为零)。

例如,

-1.0, 0.0, 0.5, 1.3, 1.364, 2.5, 24.72 都是浮点数

在 Python 中,浮点数也称为浮点数,此类数据类型在代码中使用浮点语法进行标记。

例子:

 a = 61.0 打印(类型(a))

如果将浮点数分配给变量,然后打印“a”的类型函数,Python 将指定(在一对尖括号之间)“a”属于浮点类。

这意味着“a”将浮点数(带有小数部分的数字)作为其值。

运行程序后终端显示:

 < **班级** '浮动'>

假设您要输入一个数量级非常大的数字:

您认为输入数亿(或数十亿)数量级的数字会非常烦人是对的。即使您从其他文件复制粘贴它们,这也会使您的代码看起来凌乱且难以阅读。

值得庆幸的是,您可以通过使用科学记数法显着减少它们的视觉足迹。

假设您想表达以百万为单位的数字:

通常你会输入:5,289,000

在 Python 中,您可以按如下方式输入此数字:5_289_000 或 5289000

更好的是,您可以通过使用科学记数法显着减少它:5.289e+6

您可能已经注意到,通过浮点数等数字类型可以应用科学记数法。

让我们使用科学记数法,看看 Python 是否将“a”识别为浮点数!

 a= 5.289e+6 打印(类型(a))

运行程序后终端显示:

 < **班级** '浮动'>

将整数表示为浮点数,反之亦然

正如我们的文章中提到的 每个成功的程序员都应该知道的 11 个概念 ,查看特定数据类型的另一种方法是通过它们的可变性或不变性。

所有数据类型都存储在计算机的内存中以供处理。有些可以在处理过程中修改(因此它们被认为是可变的),而另一些则一旦存储在内存中就不能更改(不可变)。

整数和浮点数等数字类型是不可变的。换句话说,整数和浮点数一旦创建就不能更改。但这并不意味着你不能以不同的形式表示一个数字!

Python 是最通用的编程语言之一。您可以使用运算符和函数来产生不同的输出。尽管如此,您还可以通过在您想要的任何数字或变量上调用数据类型的特定函数来将一个数据表示为另一个数据。

对于 Numeric 类型,对具有十进制值的数字使用 int() 将仅复制该数字的整个部分。同样,对整数使用 float ( ) 将以十进制形式表示:

例子:

将 23 点 8 分配给我们的变量“a”并调用 Python 打印整数“a”。

 a = 23.8 打印(int(a))

运行程序后终端显示:

 23

将“a”更改为 45 并调用打印浮点数。

 一个 = 45 打印(浮动(一))

运行程序后终端显示:

 a = 45.0

将“a”以科学计数法更改为十万并调用打印整数。

 a = 1e6 打印(int(a))

运行程序后终端显示:

 1000000

在科学计数法中将“a”更改为十万,但调用打印浮点数。

 a = 1e6 打印(浮动(一))

运行程序后终端显示:

 1000000.0

在整数和浮点数上应用基本运算符

整数 (ints) 和浮点数 (floats) 都表示运行基本数学和复杂计算所必需的数字。

Python 使用您在计算器上使用的相同运算符自动解释加法、减法、乘法、除法和幂运算。我们可以通过一些简单的示例来演示它在 Python 的 shell 上的外观:

整数的加法、减法、乘法和除法

让我们将 10 和 20 分别指定为“a”和“b”的值,并为它们调用一些基本数学的 print 函数:

 a=15 b=25 打印(a+b) 打印(ab) 打印(a*b) 打印(a/b) 打印(a+100) 打印(b*10) 打印(b/2)

运行程序后终端显示:

 40 -10 375 0.6 115 250 12.5

浮点数的加法、减法、乘法和除法

让我们为每个变量分配具有不同数值类型值的不同变量,并在它们之间运行一些数学运算符。

 a=15 b=25 c=7.5 d=12.5 e=2.7e10 打印(c+d) 打印(直流) 打印(c+e) 打印(e/c) 打印(c*d) 打印(a+b+c) 打印(a*c) 打印(b/c) 打印(ABC)

运行程序后终端显示:

 20.0 5.0 27000000007.5 3600000000.0 93.75 47.5 112.5 3.3333333333333335 -17.5

浮点数与整数

Image: 字母算法

以下是比较浮点数与整数时的关键要点列表:

  1. 整数是没有小数位的正数或负数(整数)。示例:-1,0,1,2,55,1000
  2. 浮点数是具有小数或小数部分的正数或负数。示例:-1.0、0.0、0.5、1.1、1.354、2.2、25.99
  3. 感谢浮点数,我们可以在 Python 中使用科学记数法。
  4. 您可以操作这两种数据类型,而不管它们的分类。换句话说,您可以像在计算器上一样进行加、减、乘、除、加电、整数和浮点数。
  5. 您还可以直接在 float 或 int 以及包含它们的任何变量上调用类型函数。

Python 复数

Image: 字母算法

与当今使用的许多编程语言不同,Python 复数实际上带有内置支持。广受欢迎的 Cmath 模块允许您将高级函数应用于复数,使其成为 MATLAB 的绝佳替代品。

只需在文件中输入以下内容:

 # 为复数运算导入“cmath” **进口** 数学

您可能还记得我们最近的 Python 数据类型文章,复数表示为实部和虚部的总和。通过将字母“j”附加到数字上,您就是在告诉 Python 您的表达式是一个复数。这是一个简单的例子:

 z = 2 + 5j

Python 偏离了复数的传统表示法,使用“j”而不是“i”。 Python 的创建者认为字母“i”看起来太像小写 L,这可能会导致各种混淆。

请注意,删除“j”会更改表达式的类型,将其转换为整数结果。

 z = 2 + 5 打印(类型(z)) < **班级** 'int'>

这也意味着您必须在浮点数上附加一个字母 j 才能将它们转换为复杂的表达式。

 z = 2.13 + 5.84j 打印(类型(z)) < **班级** '复杂'>

您还可以使用 .real 和 .imag 属性让 Python 返回复数的实部和虚部。

 z = 2 + 5j 打印(z.real2.0 z = 2 + 5j 打印 (z.imag) 5.0

请记住,复数是不可变的,因此您只能访问复数属性,但不能为它们分配新值。

定义 Python 复数的另一种方法是使用内置的 complex () 函数。它是我们迄今为止使用的文字表达式的替代方案。这是它的样子:

 z = 复数 (2,5)

我们可以调用 type 函数来仔细检查我们的表达式是一个复数。试试看!

 z = 复数 (2,5) 打印(类型(z)) < **班级** '复杂'>

第一个值对应于实部,第二个值代表复数的虚部。这两种表达方式都有效,最终取决于您在源代码中使用感觉正确且看起来干净的任何内容。

现在我们了解 Python 复数是不可变的数值数据,是时候看看我们可以用来解决问题的一些最常见的函数了。

Python 复数常用函数

既然我们已经介绍了表达复数的不同方式,现在是时候仔细研究一下 Python 复数的一些最广泛使用的函数了。

加减

最常见的功能之一是普通的加法。 Python 可以通过将复数的实部和虚部相加来求和任意数量的复数。

 z1 = 2 + 5j z2 = 3 + 7j 打印 (z1+z2) (5+12j)

然后

**定义** 添加复杂(z1,z2): **返回** z1+z2 z1 = 复数 (2,5) z2 = 复数 (3,7) 打印(“结果:”,addComplex(z1,z2)) 结果:(5+12j)

同样,您可以按如下方式减去 Python 复数:

 z1 = 2 + 5j z2 = 3 + 7j 打印 (z1-z2) (-1-2j)

然后

**定义** 子复合体(z1,z2): **返回** z1-z2 z1 = 复数 (2,5) z2 = 复数 (3,7) 打印(“结果:”,子复杂(z1,z2)) 结果:(-1-2j)

乘法和除法

Python 复数的除法和乘法是一个简单的过程。您也可以使用文字格式或相应的函数。

 z1 = 2 + 5j z2 = 3 + 7j 打印 (z1 * z2) (-29+29j)

然后

**定义** 多重复合物(z1,z2): **返回** z1*z2 z1 = 复数 (2,5) z2 = 复数 (3,7) 打印(“结果:”,mulComplex(z1,z2)) 结果:(-29+29j)

这是一个基本的 Python 复数除法:

 z1 = 2 + 5j z2 = 3 + 7j 打印 (z1 / z2) (0.706896551724138+0.01724137931034482j) **定义** divComplex (z1, z2): **返回** z1/z2 z1 = 复数 (2,5) z2 = 复数 (3,7) 打印(“结果:”,divComplex(z1,z2)) 结果:(0.706896551724138+0.01724137931034482j)

Python 复数的幂运算

Python 还允许您找到任何 Python 复数的指数。

 # 为复数运算导入“cmath” **进口** 数学 打印 (cmath.exp(3 + 7j)) (15.142531566086864+13.195928586605717j)

在坐标平面中使用 Python 复数

Python 复数也可以在坐标平面中可视化,X 轴代表实部,Y 轴代表虚部。然后,您可以绘制数据以获得二维向量的可视化表示。

绘制数据是一个值得深入讨论的话题,但值得注意的是向量和复数的工作方式相似,并且它是 Python 复数必须提供的最酷的用途之一。

高级 Python 复数函数

在最先进的 Python 复数函数中,您会发现对数、三角函数和双曲函数。

让我们从 Python 复数的对数函数开始。

 # 第 1 步:为复数运算导入 cmath。 **进口** 数学 **进口** 数学 # 第 2 步:定义复数实部和虚部 a = 3.0 b = 7.0 # 第三步:定义“z”为复数 z = 复数(a, b); # 复指数 print (“复幂运算结果:” , (cmath.exp(z))) # 复数对数 print (“复对数结果:” , (cmath.log(z,10))) 复幂运算结果:(15.142531566086864+13.195928586605717j) 复数对数结果:(0.8817139967814686+0.5063459083693581j)

Cmath 还支持三角函数,它们用于解决数学问题。

 # 第 1 步:为复数运算导入 cmath。 **进口** 数学 # 第 2 步:定义复数实部和虚部 a = 3.0 b = 7.0 # 第三步:定义“z”为复数 z = 复数(a, b); # 打印复数的正弦 打印(“z结果的正弦:”,(cmath.sin(z))) # 打印复数的余弦 print (“z 结果的余弦:” , (cmath.cos(z))) # 打印复数的正切 打印(“z结果的正切:”,(cmath.tan(z))) z 结果的正弦:(77.37850442046603542.8288478055589j) z 结果的余弦:(-542.829750561862677.37837573567569j) z 结果的正切:(-4.646832806149714e-07+0.9999984031828296j)

此外

 # 第 1 步:为复数运算导入 cmath。 **进口** 数学 # 第 2 步:定义复数实部和虚部 a = 3.0 b = 7.0 # 第三步:定义“z”为复数 z = 复数(a, b); # 打印复数的正弦 print (“arcsine of z result:” , (cmath.asin(z))) # 打印复数的余弦 打印(“z结果的反余弦:”,(cmath.acos(z))) # 打印复数的反正切 print ("z 结果的反正切:" , (cmath.atan(z))) z 结果的反正弦:(0.40179816285146036+2.7263424970102745j) z 结果的反余弦值:(1.16899816394343642.7263424970102745j) z 结果的反正切:(1.5183578574297796+0.12094923784451785j)

Python 双曲函数

Python 及其 Cmath 模块还可以在数学应用中计算双曲函数。

 # 第 1 步:为复数运算导入 cmath。 **进口** 数学 # 第 2 步:定义复数实部和虚部 a = 3.0 b = 7.0 # 第三步:定义“z”为复数 z = 复数(a, b); # 打印复数的正弦 打印(“z结果的双曲正弦:”,(cmath.sinh(z))) # 打印复数的余弦 print ("z 结果的双曲余弦:" , (cmath.cosh(z))) # 打印复数的正切 print ("z 结果的双曲正切:" , (cmath.tanh(z))) z 结果的双曲正弦:(7.552498491503594+6.61431901165645j) z 结果的双曲余弦:(7.59003307458327+6.581609574949268j) z 结果的双曲正切:(0.9993103079835998+0.00490758339523229j)

同样地

 # 第 1 步:为复数运算导入 cmath。 **进口** 数学 # 第 2 步:定义复数实部和虚部 a = 3.0 b = 7.0 # 第三步:定义“z”为复数 z = 复数(a, b); # 打印复数的正弦 print ("z 结果的反双曲正弦:" , (cmath.asinh(z))) # 打印复数的余弦 print ("z 结果的反双曲余弦:" , (cmath.acosh(z))) # 打印复数的正切 print ("z 结果的反双曲正切:" , (cmath.atanh(z))) z结果的反双曲正弦:(2.7203975979400625+1.162755246722785j) z 结果的反双曲余弦:(2.7263424970102745+1.1689981639434364j) z 结果的反双曲正切:(0.05102383908587882+1.4503730991741908j)

根据您要开发的应用程序类型,您可能会发现其中一些高级 Python 复数函数非常有用。

尽管如此,如果您希望保留所有代码并在 Python 中工作并完全避免使用 MATLAB,那么 Cmath 模块是一个出色且易于导入的选项,只需一行代码即可。

总结

正如您可以在计算器中计算和操作数字或在编写电子邮件时使用适当的语法和语法组织想法一样,您也可以使用 Python 数据类型、它们的运算符和函数作为代码和程序的构建块。

每种数据类型都提供了一组独特的优势和可能性,由您(程序员)来实现和利用以实现最高效率。

随着我们对 Python 数学的深入研究,我们将发现新的令人兴奋的可能性,这些可能性将这门语言巩固为当今最通用和最容易学习的语言之一。

文章 Python 数字类型:探索整数、浮点数和基本运算 首次出现在A 算法 并经许可在此重新发布。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/39190/35272511

posted @   哈哈哈来了啊啊啊  阅读(283)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示