键入检查python?

有没有办法从用户输入检查它是什么类型?并做这样的事情:

if input == str:
   do this
elif input == int:
   do this
else:
   do this
最佳答案
你可以使用isinstance来检查某些东西的类型 – 但你真的可能不想这样做……

这也很大程度上取决于您如何从用户那里获得输入.如果您正在使用raw_input,那么它始终是一个字符串,您需要尝试将其转换为您想要的任何类型:

try:
   x = int(input):
except ValueError:
   try:
       x = float(input):
   except ValueError:
       print "No recognizable type!"

python的一个基本原则是duck-typing.如果一个物体看起来像一只鸭子,听起来像一只鸭子,闻起来像一只鸭子,那么它就是一只鸭子(前提是你只关心物体的外观,气味和声音).最终,在python中,最好尝试一下,看看它是否是“鸭子”.如果它不是鸭子,那么你捕获异常并处理它(如果你知道如何).这是您没有看到人们在代码中使用isinstance的主要原因以及我警告不要使用它的原因.

转载注明原文:键入检查python? - 代码日志