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__()的返回結果
沒有留言:
張貼留言