擅长:python、mysql、java
<p>在<strong>init</strong>中,您将值-10分配给self.balance,您永远不会调用balance()方法。您可能需要使用属性和setter。这样,每次为天平分配值时,都会执行检查:</p>
<pre><code>class BankAccount(object):
def __init__(self, balance):
self.balance = balance
@property
def balance(self):
return self._balance
@balance.setter
def balance(self, value):
if value < 0:
raise ValueError("Illegal Balance")
self._balance = value
</code></pre>
<p>此外,ValueError是python中的内置异常,您不需要自己的异常类</p>