eam*_*234 4 python divide-by-zero
我在python中有一个Class,具有以下属性:
Run Code Online (Sandbox Code Playgroud)self.number1 = 0 self.number2 = 0 self.divided = self.number1/self.number2
这当然会抛出零误差:
ZeroDivisionError:整数除法或模数为零
这个想法是我稍后会增加number1和number2,但是self.divided会自动更新吗?如果是自动更新,那么如何解决零错误?谢谢.
Mar*_*ers 14
不,self.divided是一个简单的属性,不会自动更新.对于动态属性,请使用property:
class Foo(object):
number1 = 0
number2 = 0
@property
def divided(self):
return self.number1 / self.number2
Run Code Online (Sandbox Code Playgroud)
joj*_*ojo 10
避免ZeroDivisionError自动更新:
@property
def divided(self):
try:
#suppose that number2 is a float
return self.number1/self.number2
except ZeroDivisionError:
return None
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23806 次 |
| 最近记录: |