【发布时间】:2017-08-23 17:33:43
【问题描述】:
我找到了这3种方法来检查它,但我不知道哪种方法最好:
x = ['Bla', 'Bla', 'Bla', 'etc']
if isinstance(a, list): print('Perfect!')
if type(a) is list: print('Incredible!')
if type(a) == type([]): print('Awesome!')
这些哪个更好?
另外,我可以使用这些方法来检查 x 是否是字符串、元组、字典、int、float 等?如果这是可能的,在前两种方法中,我是否必须将列表转换为元组、字符串、字典、int、float 等(不是?),但在第三种方法中?我必须使用 ()、{}、'',而 int 和 float 还有什么?
【问题讨论】:
-
我通常更喜欢使用 isinstance 形式而不是类型,它更具表现力并且允许检查不直接从对象继承的对象类的类型
-
通常必须检查某物的类型是非常糟糕的。只有在绝对必要时才这样做。
标签: python list variables dictionary tuples