Python 中的浮点数与整数

Namita Chaudhary 2023年1月30日
  1. Python 中的浮点与整数数据类型
  2. Python 中的数值数据类型
  3. Python 中的浮点与整数
Python 中的浮点数与整数

数据类型表示数据的类型,它决定了我们可以对数据执行什么样的操作。我们在 Python 编程中有很多数据类型,例如 int、float、List、Tuple 等等。

但是,本文将主要介绍整数和浮点类型。

Python 中的浮点与整数数据类型

变量保存数据,每个数据或值都有一个与之关联的类型。由于 Python 是一种动态类型语言,每当它从用户那里获取输入时,它都会将所有内容都作为字符串数据类型:一个字符序列。

但将字符串作为输入并不总是如此。我们可能还需要一个整数,一个浮点数。

在这些情况下,我们需要将来自用户端的输入显式转换为整数或浮点类型,无论我们需要哪种类型。但是,除非我们将输入转换为其他数据类型,否则编译器只会将其解释为字符串。

Python 中的数值数据类型

数值数据类型只存储数字。整数、浮点数和复数值属于数值数据类型。

Python 的 int、float 和 complex 类定义了数据类型。整数和浮点数都是不可变的数据类型,这意味着更改这些数字数据类型的值会导致创建新分配的对象。

在 Python 编程中,我们使用 type() 函数来确定特定变量的类型。

Python 中的整数数据类型

整数是没有任何小数部分的数字,可以是正数、负数或零。我们可以说整数是没有小数部分并且具有无限精度的整数。

整数可以用二进制、八进制和十六进制格式表示。所有这些整数变量都是整数类的对象。

使用 type() 函数,我们可以检查任何变量的类型,如下例所示。

a = 10
type(a)

输出:

int

我们必须在从用户获取输入时显式转换类型,为此我们使用 int() 函数将输入转换为整数。

下面的代码输出显示变量 b 类型是 str,一个字符串,但其中保存的值是一个整数。

print("Enter the value of b")
b = input()
print(b)
print(type(b))

输出:

-6
-6
<class 'str'>

在下一个示例中,我们使用 int() 函数将输入转换为整数类型。

print("Enter the value of b")
b = int(input())
print(b)
print(type(b))

输出:

Enter the value of b
10
10
<class 'int'>

每当我们必须对它们执行某些算术运算时,就需要将这些值转换为它们的实际数据类型。

print("Enter the value of a")
a = input()
print("Enter the value of b")
b = input()
print(a + b)
print(type(a + b))

输出:

Enter the value of a
2
Enter the value of b
3
23
<class 'str'>

在上面的示例中,作为输入的两个值不会转换为 int 类型。因此,值 23 被连接而不是相加,因为字符串类型使用+ 运算符连接两个字符串。

print("Enter the value of a")
a = int(input())
print("Enter the value of b")
b = int(input())
print(a + b)
print(type(a + b))

输出:

Enter the value of a
2
Enter the value of b
3
5
<class 'int'>

在最后一个示例中,在将 ab 作为用户输入并将值 23 转换为 int 类型之后,它们被正确添加并给出正确的预期结果。

Python 中的浮点数据类型

Python 中的浮点数据类型表示带有小数部分或小数部分的实数。带小数点的数字分为整数部分和小数部分,组合起来就是浮点数。

在 python 中,浮点值使用 64 位双精度值表示。我们也可以使用字母 eE 以科学计数法表示浮点数,而写在 e 之后的数字将代表 10 的幂。

我们使用 float() 函数将数字转换为其浮点表示。我们在接受用户输入时在整数数据类型中讨论的相同问题也出现在此处。

print("Enter the value in decimal: ")
a = input()
print(a)
print(type(a))

输出:

Enter the value in decimal:
2.4
2.4
<class 'str'>

在上面的例子中,当我们从用户那里获取我们的输入并且用户输入了一个浮点值时,我们可以看到这个浮点值的类型仍然是一个字符串。

这种数据类型的不匹配会导致算术运算的不规则性。例如,添加两个未转换为浮点类型的输入值将给出两个值的连接,而不是我们想要的加法运算。

因此,我们将输入转换为浮点数据类型以避免这些不规则性。让我们看一下使用 float() 函数将值转换为浮点类型的示例。

print("Enter the value in decimal: ")
a = float(input())
print(a)
print(type(a))

输出:

Enter the value in decimal:
2.4
2.4
<class 'float'>

现在让我们对浮点数据类型执行一些算术运算。在下一个示例中,我们尝试将这两个数字相减。

但是,用户的两个输入数字并没有显式转换为浮点类型。因此,操作 a-b 给出了一个错误,指出不能对字符串变量执行 - 操作。

print("Enter the value of a")
a = input()
print("Enter the value of b")
b = input()
print(a - b)
print(type(a - b))

输出:

Enter the value of a
2
Enter the value of b
4
Traceback (most recent call last):
  File "D:\ex1.py", line 5, in <module>
    print(a-b)
TypeError: unsupported operand type(s) for -: 'str' and 'str'

将输入转换为浮点类型后,也可以轻松正确地对浮点值进行算术运算。

print("Enter the value of a")
a = float(input())
print("Enter the value of b")
b = float(input())
print(a - b)
print(type(a - b))

输出:

Enter the value of a
4
Enter the value of b
6
-2.0
<class 'float'>

许多人在使用 float 以及何时在程序中使用它时遇到问题。如果我们认为变量将包含小数点值,我们将它们转换为浮点数。否则,将其转换为整数。

principal = int(input())
rate = float(input())
time = int(input())

interest = principal * rate * time
print(interest)

输出:

1200
2.5
2
6000.0

在上面的代码中,我们计算了单利,我们知道,本金和时间都是整数,而利率也可以是十进制数。因此我们将其转换为浮点类型。

但是,存储在兴趣变量中的简单兴趣是浮点数据类型,因为如果其操作数之一具有浮点类型,则基本算术运算默认将整数隐式转换为浮点。

Python 中的浮点与整数

最好在 Python 中使用 int 数据类型,我们需要将对象的计数存储在变量中,并在变量中使用浮点数据类型,我们对十进制数执行操作。同样,如果你在需要执行科学计算的程序中使用具有浮点数据类型的变量,也会有所帮助。

结论

在本文中,我们研究了数据类型数值数据类型,并详细讨论了整数和浮点数据类型。我们还讨论了许多示例来展示 Python 中整数和浮点数据类型的工作原理。