Python の isdigit について思ったこと

Python って、型がわからないから、判定する時に文字列であることを前提にして、 s.isdigit() ってするのは何か一瞬違和感を感じ。

文字列じゃなかったらエラー返す方が安全なのかな...。全然素人なんでわかりませんが...。

でも、そんなこと言い出したらキリないか..

>>> a = 1
>>> # Exception を投げる。
>>> a.isdigit()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'int' object has no attribute 'isdigit'
>>> # False を返す。
>>> def isdigit(obj): 
        return isinstance(obj, str) and obj.isdigit()
>>>
>>> isdigit(a)
False