Python Divide By Zero Error
我在python中有一个类,具有以下属性:
1
2
3 self.number1 = 0
self.number2 = 0
self.divided = self.number1/self.number2
这当然会导致零错误:
ZeroDivisionError: integer division or modulo by zero
我的想法是稍后增加数字1和数字2,但是self.divided会自动更新吗?如果它是自动更新的,那么我如何绕过零错误呢?谢谢。
不,
1 2 3 4 5 6 7 | class Foo(object): number1 = 0 number2 = 0 @property def divided(self): return self.number1 / self.number2 |
自动更新,避免零分区错误:
1 2 3 4 5 6 7 | @property def divided(self): try: #suppose that number2 is a float return self.number1/self.number2 except ZeroDivisionError: return None |
如我所示,您可以单独执行以下操作:
1 | self.divided = self.number1/(self.number2 or not self.number2) |
这样可以确保如果值为0,则不会出现错误。但请确保,只有在使用整数值或大于1的值时才使用此选项。