End*_*ook 4 python variables dictionary tuples list
我找到了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!')
Run Code Online (Sandbox Code Playgroud)
哪个更好?
另外,我可以使用这些方法来检查x是字符串,元组,字典,整数,浮点数等吗?如果这是可能的,在前两种方法中我是否必须将列表转换为元组,字符串,字典,整数,浮点数等(不是?),但在第三种方法中?我必须使用(),{},'',以及更多的int和float?
这些都表达了不同的东西,所以它真正取决于你想要实现的目标:
isinstance(x, list)
检查的类型x
或者是list
或者具有list
作为父类(允许忽略为了简化等的ABC);type(x) is list
检查类型x
是否正确list
;type(x) == list
检查类型是否相等,这与元类可以忽略的相同类型不同 __eq__
所以为了表达以下内容:
isinstance(x, list)
:x
就像一个list
type(x) is list
:x
恰好是一个list
而不是一个子类type(x) == list
:是x
一个列表,或使用元类魔法伪装成一个其他类型list
. 归档时间: |
|
查看次数: |
6231 次 |
最近记录: |