網頁

2020/12/6

Python 使用abs()取得絕對值

Python的abs(x)函式可以把數值轉為絕對值。

轉換負整數為正整數

n = -123
absOfN = abs(n)
print(absOfN)  # 123

轉換負浮點數為正浮點數數

n = -123.45
absOfN = abs(n)
print(absOfN)  # 123.45

轉換物件實作__abs__()的返回值。 例如下面定義的Point類別中實作了__abs__(),則當Point物件傳入abs()時會返回__abs__()的回傳值。

class Point:
    x = 0

    def __init__(self, x):  # 建構式
        self.x = x

    def __abs__(self):  # 物件傳入abs()會回傳此函式的返回結果
        return abs(self.x)

    def __str__(self):  # 物件在print()印出此函式的返回結果
        return str(self.x)


point = Point(-2)  # 建立一個Point物件point

print(point)  # -2,為Point的__str__()的返回結果

print(abs(point))  # 2,為Point的__abs__()的返回結果


沒有留言:

張貼留言