[筆記]-Python小坑

簡單的筆記下有關於最近遇到的Python坑。

isdigit()

這個通常用在str字串類型中判別是否為數字,只要str為純數字isdigit()會返回True,然而數字是負數時則會返回False
一開始覺得很有事,事後翻了下官方文件
img
他是依照字串去判斷是不是數字,這邊數字的定義是0-9,因此可以用下列表示他可能做的事情。

def isdigit(input_str):
    for x in input_str:
        if x not in ['1','2','3','4','5','6','7','8','9','0']:
            return False
        return True

大概是上面這種感覺,不要跟我戰寫法

解法

解法那麼多種,自己想啊。

def isdigit(input_str):
    try:
        int(x)
    except ValueError:
        return False
    else:
        return True