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

Резултати

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

Пребарај: #sheriyat

当前筛选 #sheriyat清除筛选
Muhammadfozil Ismoilov

@muhammad_fozil · Post #1834 · 30.12.2025 г., 16:04

#sheriyat **** Qiz bolaning rost gapi ozdir, Yolg'onlari bisyor adashma. "Tegmang menga" degani - nozdir, "Nari turing" desa - karashma. Ishva bilan "Qurib keting" der, Ko'ngilga hech qattiq olmagin. "O'ling" desa, yashnab yuraver, "Qoching" desa, qochib qolmagin. Hech gul bormi axir tikansiz, Tikaniga fido qilgin jon. Bir kun aytar: - Yomon ekansiz, Ma'nosi: - "Siz eng yaxshi inson!" ©Erkin Vohidov @Muhammad_Fozil P.s: menga aloqador she'r emas, ustozlarim bilan sayohatda bo'lgan vaqtimda shu she'rni aytib qolishdi, topdim va yubordim.Yaxshi she'r ekan, yubordim, ortiqcha narsa yo'q

Hashtags

Martin Eden

@economist_martin · Post #192 · 01.06.2022 г., 22:21

#sheriyat Gʻoʻza chanogʻida jonin joylagan, Jonim mening, qoshu qovogʻim xalqim. Mayin she’rlar bitay kaftingizga Mehnatkash, qoʻllari qadogʻim xalqim. Bolasin bir chetga oʻtqazib qoʻyib, Paxtasin yelkada koʻtargan xalqim. Goʻdakday erkalab ming-ming egilib, Har bitta gʻoʻzani oʻpolgan xalqim. Orom olishniyu orolanishni, Qush uyqu tunlarga ulagan xalqim. Jannatli yozlarda dalam ishim deb, Toʻylarin qishlarga koʻchirgan xalqim. Bugun qadding koʻtar men tiz choʻkayin, Qoʻllarin tarovat etolgan xalqim, Mehnatkash, qoʻllari qadoqli xalqim. “Otamda qolgan dalalar” filmidan

Hashtags

O'lmas Temur

@olmas_temur · Post #1439 · 12.03.2025 г., 06:06

Ojiz odam! Bas, boshimda qamchi o‘ynatma! Ko‘ksimdagi uxlab yotgan hisni qo‘zg‘atma! Haddan oshma! O‘z boshingga o‘zing yetarsan, Etlaringni nimta-nimta qilsam, netarsan! #sheriyat #ijod O'lmas Temur

Martin Eden

@economist_martin · Post #191 · 01.06.2022 г., 22:21

#sheriyat#surishkerak#vatanparvar Vatanparvar boʻlay deyman boʻlolmayman. Bu vatandan ketay deyman ketolmayman. Zarra Foydam teksin millatga deya Fikri ojizimni bayon etolmayman. Kundalikda adolatni koʻrolmayman Kim toʻgʻriyu kim egri hech bilomayman Xalqim azob chekishiga chidolmayman. Lekin vatanimni tashlab ketolmayman. Tarix guvoh bu millat koʻp azob chekdi Kuzda, kunu-tunda tonna paxta terdi Emizikli bolasini chetga qoʻyib Daladan oq oltin yigʻib yovga berdi Zahmat chekkan millatini, tarixini, Xalqning pulin yeb yotganlar bilmaydimi? Vatan uchun shahid ketgan ajdodlarini Vijdon amri ila bir bor yotlamaydimi? Ey oʻzbek! Oʻzing uchun, millating uchun, Halol yasha, haqni bil, adolatni tut. Muqaddas zamin uchun, shu tuproq uchun Ilm izla, xizmat qil, minnatni unut! (c)