在Python中处理数字时,我们需要比较两个数字的大小,而不考虑它们的符号。例如,-10的幅度大于1的幅度。但是当-10和1进行比较时,由于1是正号,所以被宣布为较大的数字。要比较这两个数字的大小,首先我们需要找到这两个数字的绝对值。然后我们可以通过比较绝对值来比较两个数字的大小。在这篇文章中,我们将在python中实现寻找不同数字数据类型的绝对值的程序。
如何在Python中计算一个数字的绝对值?
我们可以使用abs()函数在python中计算任何数字的绝对值。abs()函数将一个数字作为其唯一的参数,并返回该数字的绝对值。
输入参数可以是一个浮点数、一个整数或一个复数。我们也可以将一个二进制数、一个八进制数或一个十六进制数作为输入传给abs()函数。
我们可以从下面的例子中了解abs()函数的工作情况。
Python中使用abs()函数的例子
我们可以用abs()函数找到一个整数的绝对值,如下所示。
myNum=10
absoluteVal=abs(myNum)
print("Absolute value of {} is {}.".format(myNum,absoluteVal))
myNum=-10
absoluteVal=abs(myNum)
print("Absolute value of {} is {}.".format(myNum,absoluteVal))
输出。
Absolute value of 10 is 10.
Absolute value of -10 is 10.
我们可以用abs()函数找到一个浮点数的绝对值,如下所示。
myNum=10.5
absoluteVal=abs(myNum)
print("Absolute value of {} is {}.".format(myNum,absoluteVal))
myNum=-10.5
absoluteVal=abs(myNum)
print("Absolute value of {} is {}.".format(myNum,absoluteVal))
输出。
Absolute value of 10.5 is 10.5.
Absolute value of -10.5 is 10.5.
如果我们想找到一个复数的大小,我们可以用abs()函数来做。abs()函数将一个复数作为输入,并返回该复数的大小,如下所示。
myNum=3+5j
absoluteVal=abs(myNum)
print("Absolute value of {} is {}.".format(myNum,absoluteVal))
输出。
Absolute value of (3+5j) is 5.830951894845301.
如果一个数字在二进制、八进制或十六进制数字系统中表示,我们也可以用abs()函数确定该数字在十进制数字系统中的绝对值,如下所示。
#hexadecimal number
myNum=0x123
absoluteVal=abs(myNum)
print("Absolute value {} is {}.".format(myNum,absoluteVal))
#binary number
myNum=0b1001
absoluteVal=abs(myNum)
print("Absolute value of {} is {}.".format(myNum,absoluteVal))
#octal number
myNum=0o123
absoluteVal=abs(myNum)
print("Absolute value of {} is {}.".format(myNum,absoluteVal))
输出。
Absolute value 291 is 291.
Absolute value of 9 is 9.
Absolute value of 83 is 83.
处理绝对值计算过程中的错误
Python是一种具有动态类型的编程语言。这意味着Python解释器在运行时决定一个变量的数据类型。由于这个原因,当我们把一个变量作为输入传给abs()函数时,它可能没有正确的数据类型来产生正确的输出。例如,当我们将一个字符串作为输入参数传递给abs()函数时,该函数将引发一个TypeError异常,如下所示。
myNum="PFB"
absoluteVal=abs(myNum)
print("Absolute value {} is {}.".format(myNum,absoluteVal))
输出。
Traceback (most recent call last):
File "/home/aditya1117/PycharmProjects/pythonProject/main.py", line 2, in <module>
absoluteVal=abs(myNum)
TypeError: bad operand type for abs(): 'str'
我们知道,当一个程序的任何部分引发异常时,程序会立即终止。这将导致写入文件的数据或在程序中进行的任何重要计算的损失。我们可以通过使用python try except块进行异常处理来避免这种损失。abs()函数每当我们将一个类型不正确的变量作为输入参数传递给该函数时就会引发一个异常。我们可以处理这个异常,保存必要的数据,并在需要时在except块中关闭文件。
总结
在这篇文章中,我们学习了在python中使用abs()函数来查找数字的绝对值。我们还学习了如何在二进制、八进制和十六进制数字系统中寻找十进制数字系统的绝对值。最后,我们看到如何使用try except块来处理abs()函数产生的任何异常。请继续关注更多内容丰富的文章。
The postAbsolute value of a number in Pythonappeared first onPythonForBeginners.com.