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 слични објави

Пребарај: #bagrikenglik

当前筛选 #bagrikenglik清除筛选

📚Ma'rifat johillikka qarshi: TIUE talabalari bilan dialog. Tashkent International University of Educationda talabalar bilan ma'naviy-axloqiy rivojlanish va bag'rikenglik madaniyatini shakllantirishga bag'ishlangan ma'rifiy uchrashuv bo'lib o'tdi.✔️ Tadbirda Din ishlari qo'mitasi vakili Rahimjon Ashirmatov, shuningdek O'zbekiston Xalqaro Islom akademiyasi dotsenti Anvar Hudo'yorov ishtirok etdi. 📌 Uchrashuv doirasida "Ma'rifat johillikga qarshi" mavzusida suhbat bo'lib o'tdi, uning davomida ekspertlar talabalar bilan dinni to'g'ri tushunish, diniy bag'rikenglik ahamiyati, hamda destruktiv va ekstremistik g'oyalar tarqalish xavflari masalalarini muhokama qildi. Alohida e'tibor ta'lim roli, bilimga intilish va milliy hamda umuminsoniy qadriyatlarga hurmat ko'rsatish yoshlarning uyg'un rivojlanishining muhim omillari sifatida qaratildi. 🗣️ Uchrashuv oxirida talabalar o'zlarini qiziqtirgan savollarni berishdi va ma'ruzachilar bilan ochiq dialogda qatnashdi. #TIUE#Marifat#Bagrikenglik#Talim#Yoshlar 〰️〰️〰️ 📚Просвещение против невежества: диалог со студентами в TIUE. В Tashkent International University of Education состоялась просветительская встреча со студентами, посвящённая вопросам духовно-нравственного развития и формирования культуры толерантности.✔️ В мероприятии приняли участие представитель Комитета по делам религий Рахимжон Аширматов, а также доцент Международной Исламской Академии Узбекистана Анвар Худоёров. 📌 В рамках встречи состоялась беседа на тему «Просвещение против невежества», в ходе которой эксперты обсудили со студентами вопросы правильного понимания религии, значимость религиозной толерантности, а также риски распространения деструктивных и экстремистских идей. Особое внимание было уделено роли образования, стремлению к знаниям и уважению к национальным и общечеловеческим ценностям как важным факторам гармоничного развития молодёжи. 🗣️ В завершение встречи студенты смогли задать интересующие вопросы и принять участие в открытом диалоге со спикерами. #TIUE#Просвещение#Толерантность#Образование#Молодежь