Python中型別轉換

2021-09-25 20:33:36 字數 1055 閱讀 7139

rational類實現了有理數運算,但是,如果如何把結果轉為 int 或 float ?

考察整數和浮點數的轉換:

print(int(12.36))

==> 12

print(float(12))

==> 12.0

如果要把 rational 轉為 int,應該使用:

r = rational(12, 5)

n = int(r)

要讓int()函式正常工作,只需要實現特殊方法__int__():

class rational(object):

def __init__(self, p, q):

self.p = p

self.q = q

def __int__(self):

return self.p // self.q

print(int(rational(7, 2)))

print(int(rational(1, 3)))

結果為:

3

0

同理,要讓float()函式正常工作,只需要實現特殊方法__float__()。

任務:完善rational,使之可以轉型為float。

class rational(object):

def __init__(self, p, q):

self.p = p

self.q = q

def __int__(self):

return self.p // self.q

def __float__(self):

return float(self.p) / self.q

print(float(rational(7, 2)))

print(float(rational(1, 3)))

結果為:

3.5

0.3333333333333333

Python中的型別轉換

函式 描述 int x base 將x轉換為乙個整數 long x base 將x轉換為乙個長整數 float x 將x轉換到乙個浮點數 complex real imag 建立乙個複數 str x 將物件 x 轉換為字串 repr x 將物件 x 轉換為表示式字串 eval str 用來計算在字串...

python中的型別轉換 Python中的型別轉換

使用python,我們可以輕鬆地將資料轉換成不同的型別。型別轉換有不同的功能。我們可以將字串型別的物件轉換為數值,在不同的容器型別之間執行轉換等。在本節中,我們將看到如何使用python完成轉換。將字串轉換為數值型別 要將string型別的物件轉換為numeric物件,可以使用int float 等...

Python中的型別轉換函式

函式 描述 int x base 將x轉換為乙個整數 long x base 將x轉換為乙個長整數 float x 將x轉換到乙個浮點數 complex real imag 建立乙個複數 str x 將物件 x 轉換為字串 repr x 將物件 x 轉換為表示式字串 eval str 用來計算在字串...