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

Python-如何在不使用try / except的情况下检查字符串是否表示int?

毋弘光
2023-03-14
问题内容

有没有办法在不使用try / except机制的情况下判断字符串是否表示整数(例如'3','-17'但不是'3.14''asfasfas')?

is_int('3.14') = False
is_int('-7')   = True

问题答案:

如果你真的很讨厌在try/except各处使用s,请编写一个辅助函数:

def RepresentsInt(s):
    try: 
        int(s)
        return True
    except ValueError:
        return False

>>> print RepresentsInt("+123")
True
>>> print RepresentsInt("10.0")
False

它将需要更多的代码来完全覆盖Python认为是整数的所有字符串。我说这是pythonic。



 类似资料:
  • 问题内容: 就像是: 解决方案不应包含try / catch。我们中的一些人打开“打破所有错误”,他们不喜欢调试器打破那些无效的JSON字符串。 问题答案: 首先发表评论。 问题是关于不使用。 如果您不介意使用它,请阅读以下答案。在这里,我们仅使用正则表达式检查字符串,它在大多数情况下(并非在所有情况下)都适用。 看看https://github.com/douglascrockford/JSON

  • 问题内容: 如果无法将字符串解析为long则抛出错误。有没有比使用更快的方法来验证字符串?谢谢 问题答案: 您可以创建相当复杂的正则表达式,但这不值得。在这里使用异常是绝对正常的。 这是自然的例外情况:您假设字符串中有一个整数,但实际上还有其他东西。应该抛出异常并正确处理。 如果查看内部代码,将会看到有许多不同的验证和操作。如果要在解析之前执行所有操作,则会降低性能(如果我们正在谈论解析数百万个数

  • 问题内容: 如果我错了,请纠正我,ReactIntl​​中的FormattedMessage返回一个由span标记包装的字符串。在ReactIntl​​ 1.2中,我们可以选择仅获取字符串部分。 这是我的问题:ReactIntl​​ 2.0中是否有与之等效的东西?我知道可以通过使用FormattedMessage中的Function-As- Child模式获取字符串 但是,它把我的组件中的“ re

  • 在python中,如何检查字符串是否是字符串列表中的元素? 我正在处理的示例数据是: 那么为什么下面代码的结果是"False":

  • 问题内容: Python是否有类似空字符串变量的内容,你可以在其中执行以下操作: 无论如何,检查空字符串值的最优雅方法是什么?我”“每次都很难检查空字符串,因此很难进行编码。 问题答案: 空字符串是“虚假的”,这意味着它们在布尔上下文中被认为是错误的,因此你可以执行以下操作: 如果你知道变量是字符串,则这是首选方式。如果你的变量也可以是其他类型,则应使用。有关在布尔上下文中为假的其他值,请参见“

  • 为什么在开关情况下不能将枚举值用作字符串?(或者这有什么问题:)