检查字符串是否不是isdigit()的更短方法

时间:2013-05-02 10:29:56

标签: python

为了学习,有一个更短的方法: if string.isdigit() == False :

我试过了: if !string.isdigit() :if !(string.isdigit()) :都不起作用。

5 个答案:

答案 0 :(得分:13)

Python"不是"操作数为not,而不是!

Python" s"逻辑不"操作数为not,而不是!

答案 1 :(得分:11)

在python中,您使用not关键字而不是!

if not string.isdigit():
    do_stuff()

这相当于:

if not False:
    do_stuff()

即:

if True:
    do_stuff()

另外,来自PEP 8 Style Guide

  

不要使用==。

将布尔值与True或False进行比较      

是的:如果问候:

     

否:如果问候语==真

     

更糟糕的是:如果问候语为真:

答案 2 :(得分:7)

if not my_str.isdigit()

此外,请勿将string用作变量名称,因为它也是广泛使用的标准模块的名称。

答案 3 :(得分:2)

也许使用 .isalpha()是更简单的方法...

所以;您可以尝试使用if not my_str.isdigit()

来代替if my_str.isalpha()

这是检查字符串是否不是数字的较短方法

答案 4 :(得分:0)

如果g为负数或浮点数,则string.isdigit(g)返回False。 我更喜欢使用以下功能:

def is_digit(g):
    try:
        float(g)
    except ValueError:
        return False
    return True