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

Пребарај: #csi

当前筛选 #csi清除筛选

💬„Despre capacitatea de a reflecta, cîntări și calcula în interesul național. Măcar în limita școlii primare. Mai ales atunci cînd statutul de țară neutră și de stat-candidat în UE “la granița a două lumi geopolitice” (UE și CSI) îți oferă o marjă largă de manevră nu numai formal, dar și factual". #muntean#csi#ue

Astăzi, la Sankt Petersburg, a început cea de-a XXVIII-a ediție a Forumului Economic Internațional de la Sankt Petersburg (#ПМЭФ#SPIEF) — una dintre cele mai importante platforme mondiale pentru discutarea provocărilor globale și a noilor modele de cooperare într-o lume aflată într-o schimbare accelerată. Forumul se va desfășura până pe 21 iunie. 🌏 Participarea are o geografie impresionantă: în capitala nordică vor sosi peste 20.000 de participanți din 140 de țări și teritorii, inclusiv delegații din statele #CSI, #BRICS, #OCS, #ASEAN, Africa, Orientul Mijlociu, America Latină și altele. Tema centrală a Forumului va fi identificarea reperelor comune și construirea unei dezvoltări durabile în contextul turbulențelor globale. ❗️ Pe 20 iunie, în cadrul ședinței plenare a SPIEF, va rosti un discurs Președintele Federației Ruse, Vladimir Putin. În programul de afaceri sunt planificate peste 150 de evenimente, axate pe domenii precum: • economia digitală, • sustenabilitatea ecologică, • sănătatea publică, • cooperarea internațională, • inovațiile tehnologice, • dezvoltarea regională. Conducerea și reprezentanții Ministerului Afacerilor Externe al Rusiei participă tradițional în mod activ la Forum. Pe 19 iunie, în marja SPIEF, va avea loc un briefing susținut de Purtătoarea de cuvânt al MAE Rusiei, Maria Zaharova. https://forumspb.com/en/

#Anunț 🗓 Combaterea fraudelor pe internet, precum și asigurarea securității infrastructurii informatice critice împotriva atacurilor teroriste și a diversiunilor tehnologice vor deveni unele dintre subiectele centrale de discuție în cadrul celei de-a 13-a Reuniuni Internaționale a Înalților Reprezentanți Responsabili cu Problemele de Securitate, care va avea loc la Moscova, în perioada 27–29 mai 2025, la Centrul Național „Rossia”. Provocările și amenințările din spațiul informațional, precum și căile de depășire a acestora vor fi discutate de consilierii pentru securitate națională și coordonatorii serviciilor speciale din peste 100 de state, în cadrul unei mese rotunde speciale, cu participarea experților de profil. Aceasta va oferi posibilitatea de a aborda cele mai stringente probleme din domeniul securității informaționale într-o atmosferă de cooperare internațională strânsă și bazată pe încredere. ℹ Forumul se va desfășura sub conducerea Secretarului Consiliului de Securitate al Federației Ruse, Serghei Șoigu. Au fost trimise invitații de participare către peste 150 de state din Sudul și Estul Global, țările CSI, OTSC, UEEA, OCS, precum și către conducerea a peste 20 de organizații internaționale. Delegații ale țărilor membre #BRICS, #ASEAN, Uniunea Africană, Liga Statelor Arabe, #OCS, #CSI, #OTSC și alte organizații internaționale și-au confirmat deja participarea. Până în prezent, peste 125 de delegații din mai mult de 100 de țări și-au confirmat deja participarea la Reuniunea. Pe ordinea de zi a forumului se vor regăsi subiecte privind cooperarea internațională în domeniul securității. În special, va fi abordată tema formării unei noi arhitecturi de securitate echitabile și indivizibile, care să corespundă realităților contemporane.