Функция python isdigit() возвращает true для нецифрового символа u'\u2466'

Я столкнулся со странной проблемой, связанной с функцией python isdigit.

Например:

>>> a = u'\u2466'
>>> a.isdigit()
Out[1]: True
>>> a.isnumeric()
Out[2]: True

Почему этот символ является цифрой?

Есть ли способ вернуть False, спасибо?


Изменить. Если я не хочу рассматривать это как цифру, то как его отфильтровать?

Например, когда я пытаюсь преобразовать его в int:

>>> int(u'\u2466')

Затем произошло UnicodeEncodeError.

9
задан lxyu 15 May 2012 в 15:32
поделиться