在Python中键入检查

pro*_*eek 1 python types

如何检查功能参数的类型?例如,

def hello(x):
   # check if x is tuple
   # check if x is dictionary.
   ...
Run Code Online (Sandbox Code Playgroud)

编辑

isinstance(x, type(()))
isinstance(x, type({}))
Run Code Online (Sandbox Code Playgroud)

hab*_*bit 7

你没有.

你永远不应该不确定python中的东西类型; 它基本上不可能准确检查.虽然可以进行一些天真的表面级检查,但问题是python非常灵活.你的函数不应该关心它是否通过了一个字典或类似于dict的东西,而解决这个问题的最好办法就是不要检查它.

真正的问题是"为什么我不知道什么类型的东西?"


ype*_*eᵀᴹ 5

如果你真的想检查一下,你可以使用 isinstance()

另请参阅类型检查方法的比较以及不应检查的原因!