У строки в Python есть два очень похожих метода. На столько похожих что кажется они делают одно и тоже.
Это метод isdigit() и isnumeric()
Давайте посмотрим зачем нам два одинаковых метода? И так ли они одинаковы?
Очевидно что isdigit() говорит нам, состоит ли строка только из чисел 0-9
>>> '12'.isdigit()
True
>>> '12x'.isdigit()
False
>>> '-12'.isdigit()
False
>>> '12.5'.isdigit()
False
Можно предположить что isnumeric() делает более глубокий анализ и распознаёт в строке float или отрицательное число.
>>> '15'.isnumeric()
True
>>> '-15'.isnumeric()
False
>>> '15.2'.isnumeric()
False
Нет, всё так же как и с другим методом. В чем же тогда разница? Для начала посмотрим следующие примеры:
>>> '5'.isdigit(), '5'.isnumeric() # Обычная цифра 5
# True, True
>>> '꧕'.isdigit(), '꧕'.isnumeric() # Яванская 5
# True, True
>>> '෩'.isdigit(), '෩'.isnumeric() # Синхала 3
# True, True
>>> '৩'.isdigit(), '৩'.isnumeric() # Бенгальская 3
# True, True
>>> '༣'.isdigit(), '༣'.isnumeric() # Тибетская 3
# True, True
>>> '³'.isdigit(), '³'.isnumeric() # 3 верхний индекс (степень)
# True, True
>>> '𝟝'.isdigit(), '𝟝'.isnumeric() # Математическая двойная 5
# True, True
>>> '๔'.isdigit(), '๔'.isnumeric() # Тайская 4
# True, True
>>> '➑'.isdigit(), '➑'.isnumeric() # 8 в круге
# True, True
А теперь примеры в которых, по мнению Python, результаты не равны
>>> '¾'.isdigit(), '¾'.isnumeric() # дробь три четверти
# False, True
>>> '⅕'.isdigit(), '⅕'.isnumeric() # дробь одна пятая
# False, True
>>> '𒐶'.isdigit(), '𒐶'.isnumeric() # клинопись 3
# False, True
>>> '三'.isdigit(), '三'.isnumeric() # 3 из унифицированной идеограммы
# False, True
>>> '⑩'.isdigit(), '⑩'.isnumeric() # цифра 10 в круге
# False, True
>>> 'Ⅳ'.isdigit(), 'Ⅳ'.isnumeric() # Римская 4
# False, True
>>> '𑇪'.isdigit(), '𑇪'.isnumeric() # Сенегальская архаическая 10
# False, True
>>> '𐌢'.isdigit(), '𐌢'.isnumeric() # Этрусская цифра 10
# False, True
>>> 'ↂ'.isdigit(), 'ↂ'.isnumeric() # Римская цифра 10000
# False, True
>>> '〇'.isdigit(), '〇'.isnumeric() # Символ ККЯ ноль
# False, True
Получается, что isdigit() говорит нам, является ли символ десятичной цифрой или спецсимволом, имеющим цифирное значение после преобразования.
В свою очередь isnumeric() включает все дополнительные символы юникода которые имеют отношения к числовым и цифровым представлениям.
Ну и пара примеров в которых в обоих случаях символ не является числом, это эмодзи.
>>> '🕙'.isdigit(), '🕙'.isnumeric() # эмодзи 10 часов
# False, False
>>> '7️⃣'.isdigit(), '7️⃣'.isnumeric() # эмодзи 7
# False, False
Также есть еще один дополнительный и весьма полезный метод isdecimal().
Он нам сообщает, можно ли из указанного символа сделать простую десятичную цифру. То есть сработает ли метод int(x)
>>> '෩'.isdecimal(), int('෩') # Синхала 3
# True, 3
>>> '➑'.isdecimal(), int('➑') # 8 в круге
# False, ValueError
Какие выводы?
🔸 При определении цифры в строке isdigit() подходит лучше чем isnumeric(), но оба не гарантируют успешную конвертацию в int
🔸 Для однозначного определения возможности преобразования строки в int лучше подходит метод isdecimal()
🔸 Для однозначного определения символов 0...9 лучше использовать regex
Полный список символов юникода которые определяются как numeric
#basic
Lexus NX — очень логичный и практичный выбор в наше время. 2-х литровый мотор на 150 лс, передний или полный привод. Внутри и снаружи 100% Lexus, очень похож на RX, только поменьше.
На выбор в Major Expert сейчас 9 машин — 2015-2021 года, пробеги 50-200 тыс км. Цены доступные — от 2,94 до 4,55 млн руб (это за машину 21 года с пробегом в 50 тыс км, на полном приводе)
Подробности +7 (495) 089-05-39
или у Кирилла @KirStar96
#lexus
Lexus ES — обвешан наградами и призами. «Luxury Car Best Buy 2023», «Top Safety Pick+ 2022», высшие места в разнообразных рейтингах по надёжности, ценности и качеству.
«Люксовая Camry» отличается от обычной материалами отделки, настройками подвески, мультимедиа. Это уже не бизнес, а премиум.
В нашем салоне сейчас 3 автомобиля с пробегом на выбор. 2016-2021 гв, 2-2,5 литровые бензиновые моторы, передний привод. Пробеги 61-97 тыс км, для них это немного. Цены — 2,97-4,12 млн руб.
Звоните +7 (495) 089-05-39
#lexus
Новый LEXUS RX300 в Major Auto - отличный вариант на каждый день. Высочайшая надежность и комфорт.
По технике - 2-х литровый турбо-мотор, 248 лс, полный привод и 8-и ступенчатая АКПП.
Круиз контроль, камера заднего вида, два монитора, электропривод багажника, вентиляция передних сидений, ассистенты.
Цена - от 8,53 млн руб.
Менеджер Кирилл @KirStar96
#lexus
Новый LEXUS RX300 в Major Auto - надежный и современный. Не игрушка, а набор проверенных технологий в элегантной упаковке.
По технике - 2-х литровый турбо-мотор, 248 лс, полный привод и 8-и ступенчатая АКПП.
Круиз контроль, камера заднего вида, два монитора, электропривод багажника, вентиляция передних сидений, ассистенты.
Цена - от 8,5 млн руб.
Менеджер Кирилл @KirStar96
#lexus
Lexus ES в 2026 году - только гибрид или электромобиль. ES350h - 4-х цилиндровый бензиновый мотор + электромотор, всего 243 лс, передний или полный привод.
Две электрические версии - ES350е (220 лс, передний привод, разгон 7,7 сек) и ES500е (338 лс, полный привод, 5,4 сек).
ES 2026 в длину вырос на 15 см и преобразился внутри и снаружи. Снаружи к лучшему, внутри в сторону простых прямоугольных форм, на любителя.
Нравится - 👍
Не нравится - 👎
Где ДВС - 🤔
#lexus
Lexus LM - его выбирают вместо представительского LS. Потому что комфортнее седана. Идеально подойдет для города, для длинных поездок и справится с перевозкой детей в школу.
Сейчас такая машина, 2023 года выпуска, с пробегом 40 тыс км, есть в продаже в Major Expert. В идеальном состоянии, покупался и обслуживался у нас.
292 лс, полный привод. Подогрев и вентиляция всех сидений, перегородка между пассажирским салоном и водителем, подогрев и вентиляция всех сидений (во втором ряду - капитанские с электрорегулировками), доводчики дверей, 3-х зонный климат, камеры 360, обогрев руля, комфортная подвеска.
Цена 14,6 млн руб.
Менеджер Кирилл @KirStar96
#lexus
Lexus строил LS с 1990 года, продажи падали по мере того, как кроссоверы убивали седаны. Сам Lexus говорит, что место LS занял минивэн LM. 2026 год станет для LS последним.
Выходит прощальная лимитка в 250 экземпляров - Heritage Edition. Специальные диски 20", полный привод, V6 3,4 литра битурбо на 416 лс, особая отделка.
LS продавался в России довольно средне, но в больших седанах есть своя прелесть, грустно что их становится меньше.
Вообще не жаль - 👍
Немного все-таки жаль - 👎
#lexus
Lexus LX - большой, комфортный и мощный. Максимум от японского премиум бренда. Такой, 2020 гв, с пробегом всего 28 тыс км есть сейчас в Major Expert.
5,7 литровый V8 на 367 лс и 530 Нм, полный привод, 8-и ступенчатая АКПП, разгон до сотни за 7,7 секунд. Удобен в городе и особенно на трассе.
Без проблем по технике и без окрасов.
Цена 12,5 млн руб.
Менеджер Кирилл @KirStar96
#lexus
Еще одно новое поступление - LEXUS LX 2024 гв, с пробегом всего 22 км, в продаже в Major Expert.
Полный привод, 10-и ступенчатая АКПП, 3,4 л бензиновый турбомотор на 415 лс и 650 лс, разгон до сотни за 6,9 секунд.
Один владелец, юр. лицо, возможен возврат НДС, машина куплена в Major Auto, абсолютно прозрачная история эксплуатации.
Цена - 18,2 млн руб.
Менеджер Кирилл @KirStar96
#lexus
LEXUS RX 350 - японский премиум на каждый день. Известный, надежный, качественный и понятный.
На видео автомобиль 2023 года выпуска с пробегом 37 тыс км. Без проблем по технике и полностью в родном окрасе.
Полный привод, бензиновый двигатель 2,4 л на 249 лс, 8-и ступенчатая АКПП, 7,6 секунд до сотни (быстрее старых атмосферных моторов). Вентиляция и подогрев передних сидений, датчики света, дождя и давления в шинах, камера заднего вида, колеса 19 дюймов.
Цена 8,2 млн руб
Менеджер Кирилл @KirStar96
#lexus
Новый LEXUS RX300 - космический снаружи и внутри. Технологичный, но не игрушечный. В нем всё собрано не все возможное (лишнее), а всё необходимое. Каждая функция продумана и работает на отлично.
По технике - 2-х литровый турбо мотор, 248 лс, полный привод и 8-и ступенчатая АКПП. Круиз контроль, камера заднего вида, два монитора, электропривод багажника, вентиляция передних сидений, ассистенты.
Цена - от 8,73 млн руб.
Менеджер Кирилл @KirStar96
#lexus
LEXUS LX600 2024 года выпуска, с пробегом всего 20 тыс км, есть сейчас в Major Expert. Абсолютно никаких проблем по технике и полностью в родном окрасе.
Флагман бренда. Полный привод, бензиновый 3,5 л турбомотор на 415 лс и 650 Нм, 10-и ступенчатая АКПП, разгон до сотни за 6,9 сек. Богатейшая комплектация с вентиляцией сидений, обогревом руля и лобового стекла, люком, темным потолком, дисками 22 дюйма и многим другим. Абсолютный комфорт, надежность и динамика.
Цена 15,465 млн руб.
Менеджер Кирилл @KirStar96 готов ответить на все ваши вопросы.
#lexus