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

Пребарај: #anunț

当前筛选 #anunț清除筛选

#Anunț Au început îscrierile pentru Campionatul Mondial de Limba Rusă pentru Străini 2025. Campionatul este un concurs internațional și un eveniment educațional care reunește echipe din întreaga lume pentru a-și demonstra cunoștințele de limba rusă, abilitatea de a-și apăra punctul de vedere, de a participa la discuții, de a rezolva probleme logice, de a lucra în echipă și de a-și demonstra creativitatea. ℹ️ Pentru a participa, trebuie să formați o echipă de 5 persoane cu vârste cuprinse între 16 și 22 de ani, fiecare membru având cel puțin nivelul A2 de competență în limba rusă. Echipa trebuie să aibă și un antrenor (cu vârsta de cel puțin 21 de ani) care să ghideze și să sprijine echipa pe parcursul tuturor etapelor competiției. Anul trecut, Campionatul Mondial de Limba Rusă pentru Străini a reunit peste 2.000 de participanți din întreaga lume, inclusiv din țări precum India, China, Grecia, Vietnam și diverse națiuni din America Latină. Finala s-a desfășurat la „Țarskoie Selo”, echipa din Kazahstan ocupând primul loc. 🌐 În 2025, echipele vor fi grupate pe regiuni geografice: statele postsovietice, Africa, Asia, America și Europa. Primele zece echipe care vor trece cu succes de etapa online vor fi invitate la runda finală de la Moscova, Rusia, care va avea loc în decembrie 2025. Toate cheltuielile de călătorie vor fi acoperite de organizatori. Înscrierile sunt deschise până la 15 septembrie 2025. Participarea este gratuită. 🔎Aflați mai multe despre campionat și înscrieți-vă!

Hashtags

#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.