if isinstance(x, basestring):
# a string
else:
try: it = iter(x)
except TypeError:
# not an iterable
else:
# iterable (tuple, list, etc)
Run Code Online (Sandbox Code Playgroud)
@Alex Martelli的回答详细描述了为什么在使用Python中的类型时应该更喜欢上述样式(感谢@Mike Hordecki的链接).
isinstance(x, str)
isinstance(x, tuple)
Run Code Online (Sandbox Code Playgroud)
一般来说:
isinstance(variable, type)
Run Code Online (Sandbox Code Playgroud)
检查是否variable是type(或其子类型)(docs)的实例.
PS.不要忘记字符串也可以是unicode(isinstance(x, unicode)在这种情况下)(或者isinstance(x, basestring)(谢谢,JF Sebastian!),它检查两者str和unicode).
| 归档时间: |
|
| 查看次数: |
764 次 |
| 最近记录: |