phonenumbers — это небольшая библиотека, для получения информации о номере телефона.



Что она умеет?



Данная библиотека имеет возможность узнать геолокацию номера телефона (страна, город), абонентом какого оператора он является, пройти проверку на валидацию и другое.



Сверху приведены два примера по валидации данных, но они возвращают разные значения



Почему так происходит?



Причина в том, что метод is_possible_number() быстро угадывает действительность телефонного номера, проверяя длину анализируемого номера, в то время как метод is_valid_number() выполняет полную проверку, проверяя длину, префикс телефонного номера и регион.



При итерации по большому списку телефонных номеров использование phonenumbers.is_possible_number() даст более быстрые результаты по сравнению с phonenumbers.is_valid_number() . Но, как мы видим здесь, эти результаты не всегда правильны. Так что используйте на свой страх и риск.



Ставится командой pip install phonenumbers

Краткая документация(с pypi) и примеры кода здесь.