Python - 确定参数是否为整数

时间:2014-09-23 23:30:24

标签: python parameters integer

我对Python比较陌生。我想要提出一个基本的程序,可以判断参数是否在函数中有一个整数。我不知道该把什么放入空白。我通常不会使用if / in类型配对。函数的基础是:

def is_number(char):
            if  (somethinghere)  in  (somethinghere):
                    return True
            else:
                    return False

结果应该是:

is_number('4')
   True
is_number('nothing')
   False

3 个答案:

答案 0 :(得分:5)

python中的常用方法不是if / else,而是try / except:

def is_number(char):
    try:
        int(char)
    except ValueError:
        return False
    else:
        return True

答案 1 :(得分:3)

有很多方法可以做到这一点,但我认为这个练习建议您使用这种方法:

'a' in 'abcde'
Out[1]: True

'f' in 'abcde'
Out[2]: False

您应该考虑如何将其应用于您的具体示例。

答案 2 :(得分:1)

def is_number(char):
   return char.isdigit()

如果您正在处理正数,可以使用str.isdigit

您可能希望使用try/except进行更常规的使用,但使用float而不是int或十进制数字将不被视为数字:

def is_number(char):
    try:
        float(char)
    except ValueError:
        return False
    return True

如果返回False,您也不需要代码中的其他内容,您的代码将不再继续使用。

使用return char.isdigit()时结果相同,结果将是TrueFalse,因此不需要if/else

In [4]: is_number('4.3')
Out[4]: True

In [5]: is_number('0.3')
Out[5]: True

In [6]: is_number('03')
Out[6]: True

In [7]: is_number('foo')
Out[7]: False