我该如何在Python中比较变量类型?

14 浏览
0 Comments

我该如何在Python中比较变量类型?

这个问题已经有了答案:

Python中检查类型的规范方法是什么?

我正在编写一个简单的程序,它会询问天气和温度,并输出用户应该穿什么衣服。但是,我已经到了想确保用户不能输入\"g\"度或任何其他字符串的地步。有没有一种简单的方法来比较变量类型?换句话说,是否有类似于:

if (type(temp) == 'str'):
    print("Invalid. Try again.")

或类似的不太复杂的东西?就我个人而言,我可以使用高级功能和诸如此类的东西,但看起来对我的计算机科学老师来说很可疑。

admin 更改状态以发布 2023年5月21日
0
0 Comments

请求原谅比请求许可更容易。

考虑到大多数人在这种情况下会怎么做(假设是 Python 3):

temp = int(input("Enter a numerical input: "))

如果我们得到的输入不是数字,我们将遇到ValueError。 知道这一点后,我们应该...捕获它:

try:
    temp = int(input("Enter a numerical input: "))
except ValueError as e:
    print("Invalid input - please enter a whole number!");

不要玩弄类型检查,因为这会使您的代码稍微不那么 Pythonic。 相反,不要担心这段代码可能会出问题; 如果确实出现问题,请捕获异常并稍后处理后果。

0
0 Comments

你说得基本正确,只是不需要引号。

>>> type(5) == int
True
>>> type('5') == int
False
>>> type('5') == str
True

0