从哪里开始空班?
这是关于 Python 的。我正在创建一个BitCode类,字符串只能由 0 和 1 组成,如果不是,它将引发ValueError带有消息的 a 。
例如,
b = BitCode('1001')
已验证。
写完之后我在想:
class Bitcode:
代码的测试部分是:
class TestBitCode(unittest.TestCase):
def test_constructor_value_error_bits(self):
with self.assertRaises(ValueError):
b = BitList('FE')
我可以将检查以确保每个对象的参数仅包含 0 和 1 的代码放在哪里?
回答
class BitCode:
def __init__(self, s):
if len(set(s + "01")) != 2:
raise ValueError
...
s + "01"将“0”和“1”添加到结果字符串中,结果我们得到一组字符,其中至少有“0”和“1”。用set我们只保留独特的元素。其中会有0和1,以及所有不是0和1的元素,我们找出长度,如果不等于2,则抛出异常