[Python-ideas] Adding str.isascii() ?

INADA Naoki songofacandy at gmail.com
Fri Jan 26 03:42:31 EST 2018


Currently, int(), str.isdigit(), str.isalnum(), etc... accepts
non-ASCII strings.

>>> s =  123"
>>> s
>>> s.isdigit()
>>> print(ascii(s))
>>> int(s)

But sometimes, we want to accept only ascii string.  For example,
ipaddress module uses:

_DECIMAL_DIGITS = frozenset('0123456789')
if _DECIMAL_DIGITS.issuperset(str):

ref: https://github.com/python/cpython/blob/e76daebc0c8afa3981a4c5a8b54537f756e805de/Lib/ipaddress.py#L491-L494

If str has str.isascii() method, it can be simpler:

`if s.isascii() and s.isdigit():`

I want to add it in Python 3.7 if there are no opposite opinions.

INADA Naoki  <songofacandy at gmail.com>

More information about the Python-ideas mailing list