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

Резултати

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

Пребарај: #physicaltechnicalinstitute

当前筛选 #physicaltechnicalinstitute清除筛选

🤔Yarimo‘tkazgichlar sohasini rivojlantirish istiqbollari 🎓 Biznes va tadbirkorlik oliy maktabida Malayziya va Koreya ekspertlari, vazirliklar, ilmiy-tadqiqot institutlari va oliy ta’lim muassasalari vakillari ishtirokida yarimo‘tkazgichlar sanoatini rivojlantirish masalalariga bag‘ishlangan davra suhbati bo‘lib o‘tdi. 🌀 Tadbir ochilishida Biznes va tadbirkorlik oliy maktabi vakili so‘zga chiqib, O‘zbekistonda yarimo‘tkazgichlar sohasini rivojlantirish istiqbollari, ilmiy-amaliy tadqiqotlarning ahamiyati hamda xorijiy tajribani o‘rganish zarurligini ta’kidladi. ✅ Shundan so‘ng ishtirokchilar kadrlar tayyorlash, ilmiy ishlanmalarni amaliyotga tatbiq etish va ishlab chiqarishda mahalliylashtirish masalalarini muhokama qildilar. Malayziya va Koreya ekspertlari o‘z mamlakatlari tajribasi, mavjud muammolar va ularni yechish bo‘yicha olib borilayotgan ishlarga oid ma’lumotlar bilan o‘rtoqlashdi. Shuningdek, “O‘zeltexsanoat” uyushmasi, Ion-plazma va lazer texnologiyalari instituti, Yarimo‘tkazgichlar fizikasi va mikroelektronika instituti, hamda boshqa tashkilotlarning tashabbuslari taqdim etildi. 🤝 Yakunida ishtirokchilar ilmiy ishlanmalar asosida yarimo‘tkazgich mahsulotlari ishlab chiqarish, komponentlarni mahalliylashtirish, kadrlar tayyorlash va xalqaro hamkorlikni kengaytirish bo‘yicha hamkorlik qilishga kelishib oldilar. 🇷🇺RU 🇬🇧ENG #GSBE#GraduateSchool#PhysicalTechnicalInstitute#StartupProjects 🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube

🧊Yarimo‘tkazgichlar va mikroelektronika sohasida innovatsion hamkorlik yo‘lga qo‘yilmoqda 🇺🇿O‘zbekiston Fanlar akademiyasi Fizika-texnika instituti va Biznes va tadbirkorlik oliy maktabi o‘rtasida yarimo‘tkazgichlar va mikroelektronika sohasini rivojlantirish bo‘yicha innovatsion hamkorlik yo‘lga qo‘yilmoqda. Uchrashuvda institutda yarimo‘tkazgichlar yo‘nalishida olib borilayotgan ilmiy-tadqiqot ishlar, institut yo‘nalishining boshqa ITlardan farqi va o‘rni, dizayn markazi tashkil etish loyihasi, xalqaro hamkorlik, O‘zbekistonda yarimo‘tkazgich va mikroelektronika mahsulotlari ishlab chiqarish xolati va imkoniyatlari, startap loyihalar amalga oshirish bo‘yicha o‘zaro hamkorlik masalalari muhokama qilindi. 🔹Batafsil 🇷🇺RU 🇬🇧ENG #GSBE#GraduateSchool#PhysicalTechnicalInstitute#StartupProjects 🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube