【发布时间】:2014-03-09 12:28:34
【问题描述】:
在 Python 3 中,我想检查 value 是字符串还是 None。
一种方法是
assert type(value) in { str, NoneType }
但是NoneType 在 Python 中的位置在哪里?
没有任何导入,使用NoneType 会产生NameError: name 'NoneType' is not defined。
【问题讨论】:
-
你也应该使用
isinstance。它可能需要一个类型的元组来检查。isinstance(value, (str, type(None))) -
如果这不是用于单元测试,人们可能会争辩说您通常根本不应该键入 check。
-
@rmartinjak:一些程序员仍然喜欢用
assert语句来验证他们的编码假设。支持就在那里。 我不会使用断言,也会使用单元测试,但如果你使用assert无论如何.. -
对不起,如果我的问题放错了,我知道
isinstance(object, class-or-type-or-tuple),我只是想关注NoneType的位置问题。
标签: python python-3.x types nonetype