Python abs()函数详细教程


abs()函数返回一个数的绝对值;该函数的参数可以是一个整数、浮点数、复数或定义了__abs__()方法的类;

如果参数是一个复数,则返回它的模;如果是定义了__abs__()方法的类,则返回__abs__()方法的返回值;

整数、浮点数

abs(x)函数将返回x的绝对值;

n = -1.5
print(abs(n))

输出:

1.5

复数

如果参数为复数,abs(x)函数返回x的模;

n = 3 + 4j
print(abs(n))

输出:

5.0

定义了__abs__()方法的类

如果参数是定义了__abs__()的类,则abs(x)函数返回x.__abs__()的返回值;

class A:
    def __init__(self,n):
        self.value = n

    def __abs__(self):
        return self.value**2

a = A(5)

print(abs(a))

输出:

25

错误的类型

如果类未定义__abs__()方法;则会造成TypeError类型错误;

class A:
    def __init__(self,n):
        self.value = n

a = A(5)

print(abs(a))

输出:

Traceback (most recent call last):
  File "C:\Users\hocn\Desktop\test.py", line 7, in <module>
    print(abs(a))
TypeError: bad operand type for abs(): 'A'

如需转载,请注明出处;本文地址:https://www.perfcode.com/p/python-abs-function.html