当前位置: 首页 > 面试题库 >

如何检查变量是整数还是字符串?

章安宜
2023-03-14
问题内容

我有一个具有几个命​​令的应用程序。当您键入某个命令时,您必须输入有关某物/某人的其他信息。现在,根据情况,信息必须严格为整数或字符串。

但是,无论您使用raw_input()在Python中键入的内容实际上是一个字符串,无论如何,更具体地讲,我很快会不加尝试地……除非查看变量是否由数字或字符组成?


问题答案:

我认为您有两种选择:

  • 只需尝试将其转换为int,但要捕获异常
    try:
    value = int(value)
    

    except ValueError:
    pass # it was a string, not an int.

这是“求饶”方法。

  • 明确测试字符串中是否只有数字:
    value.isdigit()
    

str.isdigit()收益True只有在字符串中的所有字符是数字(0-
9)。

unicode/
Python的3str型当量unicode.isdecimal()/
str.isdecimal();
只能将Unicode小数转换为整数,因为并非所有数字都具有实际的整数值(例如,U + 00B2 SUPERSCRIPT
2是数字,但不是小数)。

这通常称为“询问权限”方法,或“先了解后跳跃”。

后者将不会检测到所有有效值int()(如和),+并且-int()值中也允许使用。第一种形式会很乐意接受' +10 '为数字,而后者则不会。

如果您希望用户 正常 输入整数,请使用第一种形式。在这种情况下,寻求宽恕比获得许可要容易(并且更快)。



 类似资料:
  • 问题内容: 有谁知道如何检查JavaScript中的变量是数字还是字符串? 问题答案: 如果你处理的文字符号,而不是构造函数,你可以使用typeof运算。 如果您是通过构造函数创建数字和字符串,比如,你应该记住,可能会返回了。 检查类型的更简单的方法可能是利用在underscore.js中找到的方法可以在[此处找到带注释的源代码), 这将返回以下布尔值:

  • 问题内容: 如何找到一个数字是或? 问题答案: 除以1时检查余数: 如果您不知道参数是一个数字,则需要两个测试: 目前有一种称为的方法,除IE之外,其他所有方法均已实现。MDN还为其他浏览器提供了polyfill: 但是,在大多数情况下,最好还是使用后者来检查该值是否过高/过低,以至于无论如何小数位都会丢失。MDN对此也有一个polyfil。(你还需要上面的polyfill。)

  • 问题内容: 我有一个通过JSON.Stringify函数从对象转换的json字符串。 我想知道它是json字符串还是普通字符串。 是否有类似“ isJson()”的函数来检查它是否为json? 我想在使用本地存储(如下面的代码)时使用该函数。 先感谢您!! 问题答案: “简单”的方法是在失败时解析并返回未解析的字符串:

  • 问题内容: 如何检查变量是否为整数? 问题答案: 如果你需要这样做,请执行 除非你使用的是Python 2.x,否则需要 不要使用type。在Python中,这几乎永远不是正确的答案,因为它阻止了多态性的所有灵活性。例如,如果你子类化int,则你的新类应注册为int,但type不会这样做: 这符合Python强大的多态性:你应该允许行为类似于的任何对象int,而不是强制将其作为一个对象。 BUT

  • 我正在尝试将嵌套列表结构转换为DataFrame。该列表类似于以下内容(它是来自解析的JSON的序列化数据,使用httr包读取)。 编辑:我最初的示例数据太简单了。实际数据是不完整的,这意味着并非每个对象都存在所有变量,并且一些列表元素是空的。我编辑了数据来反映这一点。

  • 问题内容: 如何检查输入值是整数还是浮点数? 假设312/100 = 3.12,在这里我需要检查3.12是浮点值还是整数值,即没有任何小数位值。 问题答案: 您应该检查数字的小数部分是否为0。 要么 或类似的东西