TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #83 · 11 мај

У строки в 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

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #yangiflot

当前筛选 #yangiflot清除筛选
FLYONE ASIA

@flyoneasiauz · Post #33 · 03.10.2025 г., 15:38

✨ Большие новости от Flyone Asia! ✨ Наш путь к новым высотам продолжается — мы с гордостью объявляем о пополнении нашего флота двумя новыми самолетами. Этот важный шаг позволит нам расширить горизонты, открыть больше направлений и сделать ваши путешествия еще более комфортными. 🌍💙 Каждый новый самолет — это не просто крылья, это символ роста, надежности и нашей приверженности соединять людей и города по всему миру. Спасибо, что выбираете Flyone Asia. Вместе мы строим будущее авиации в нашем регионе. 🚀✈️ #FlyoneAsia#Авиация#НовыйФлот#БудущееПутешествий _______________________________________ ✨ Flyone Asia’dan katta yangilik! ✨ Biz yangi cho‘qqilar sari yo‘limizni davom ettirmoqdamiz va mamnuniyat bilan e’lon qilamiz — flotimizga yana ikki yangi samolyot qo‘shildi! Bu muhim qadam bizga ko‘proq yo‘nalishlarni ochish, qulaylikni oshirish va yo‘lovchilarimiz uchun yanada yaxshi sayohat tajribasi yaratish imkonini beradi. 🌍💙 Har bir yangi samolyot — bu shunchaki qanot emas, bu bizning o‘sishimiz, ishonchliligimiz va odamlarni hamda shaharlarni birlashtirishga bo‘lgan sadoqatimiz ramzidir. Flyone Asia’ni tanlaganingiz uchun tashakkur. Birgalikda biz mintaqamizda aviatsiyaning kelajagini qurmoqdamiz. 🚀✈️ #FlyoneAsia#Aviatsiya#YangiFlot#SayohatKelajagi _____________________________________ ✨ Big news from Flyone Asia! ✨ Our journey continues to reach new heights as we proudly welcome two brand-new aircraft into our fleet. This important step allows us to expand our horizons, offer more destinations, and create an even more comfortable travel experience for our passengers. 🌍💙 Every new aircraft represents more than just wings — it symbolizes growth, reliability, and our commitment to connecting people and places across the world. Thank you for choosing to fly with us. Together, we’re building the future of aviation in the region. 🚀✈️ #FlyoneAsia#Aviation#NewFleet#FutureOfTravel