1
我是新來的Python,目前正在寫一Fraction類代碼:如何防止屬性與某些值初始化在Python
class Fraction:
def __init__(self, numerator, denominator):
self.numerator = numerator
self.denominator = denominator
def __str__(self):
return "%s/%s" % (self.numerator, self.denominator)
def __mul__(self, other):
return "%s/%s" % (self.numerator* other.numerator, self.denominator* other.denominator)
不過,我想阻止定義與denominator = 0
的一小部分,因爲這在數學中是不允許的。我該如何做到這一點? 我曾嘗試將try-except
塊放在__init__
函數中,並且還有if-else
條件,但似乎沒有任何效果。
在此先感謝! 丹尼爾
'__mul__'應該返回'Fraction',而不是字符串的一個新實例,否則你將無法寫,例如, 'fract1 * fract2 * fract3'。 – robyschek