try/except メカニズムを使用せずに、文字列が整数 ( ではなく'3'
または)を表しているかどうかを判断する方法はありますか?'-17'
'3.14'
'asfasfas'
is_int('3.14') == False
is_int('-7') == True
ベストアンサー1
正の整数の場合は.isdigit
:
>>> '16'.isdigit()
True
ただし、負の整数では機能しません。次の操作を試してみてください。
>>> s = '-17'
>>> s.startswith('-') and s[1:].isdigit()
True
この意味ではキャスト'16.0'
に似ている formatでは機能しません。int
編集:
def check_int(s):
if s[0] in ('-', '+'):
return s[1:].isdigit()
return s.isdigit()