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

Резултати

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

Пребарај: #complex

当前筛选 #complex清除筛选

🇺🇿Biznes va tadbirkorlik oliy maktabi hamda Olmaliq kon-metallurgiya kombinati hamkorligida “Strategik va operatsion menejment” mavzusida uchrashuv bo‘lib o‘tdi Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi hamda Olmaliq kon-metallurgiya kombinati (OKMK) o‘rtasidagi hamkorlik doirasida MBA - Global menejment magistratura mutaxassisligi tinglovchilari uchun uchrashuv tashkil etildi. Tadbirda Biznes va tadbirkorlik oliy maktabi professor-o‘qituvchilari, OKMKning yetakchi vakillari, jumladan “Strategiya va operatsion samaradorlikni oshirish” bo‘limi boshlig‘i B. Siddiqjonov va “Barqaror rivojlanish (ESG)” bo‘limi boshlig‘i R. Axmedov ishtirok etdilar. Uchrashuv davomida konlardan rudani qazib olishni boshlashdan metallni qayta ishlash jarayonlarini o‘z ichiga olgan uzluksiz texnologik jarayonlari, ishlab chiqarish quvvatlari, eksport ko‘rsatkichlari va jahon bozoridagi o‘rniga oid batafsil ma’lumotlar taqdim etildi. Shuningdek, kombinatning yirik sanoat korxonalari bilan xalqaro hamkorlik loyihalari, ilg‘or texnologiyalarni joriy etish bo‘yicha tashabbuslari, yangi konlarni o‘zlashtirish va ishlab chiqarishni diversifikatsiya qilish strategiyalari, ekologik barqarorlik va korporativ ijtimoiy mas’uliyat bo‘yicha amalga oshirilayotgan ishlari haqida ma’lumot berildi. Mazkur uchrashuv ikki tomonlama hamkorlikni mustahkamlash va tinglovchilarning amaliy bilimlarini oshirishga xizmat qildi. 🇷🇺RU 🇬🇧ENG #GSBE#GraduateSchool#Miningmetallurg#Complex#Study 🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube

Senior Experten Service GmbH (SES) vakillarining Biznes va tadbirkorlik oliy maktabi bilan hamkorligi doirasida kombinat faoliyati bilan tanishish maqsadida OKMK aksiyadorlik jamiyatiga tashrif tashkil etildi. В рамках сотрудничества представителей Senior Experten Service GmbH (SES) с Высшей школой бизнеса и предпринимательства был организован визит в Акционерное общество АГМК, с целью ознакомления с деятельностью комбината. #GraduateSchool#Almalyk#Mining_Metallurg#Complex Web-site | Telegram | Facebook | Instagram

The project of a new residential complex in Moscow was approved. The main design element is small balconies, which resemble a skin of the fantastic animal. Architecture: “LABVA PRO” LTD bureau and “Architectural Bureau of Katerina Gren”. #arch_shovel#architecture#moscow#residential#complex#new#NewsArchitecture