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

Пребарај: #sanoye

当前筛选 #sanoye清除筛选
Sandiq

@sandiqchamiz · Post #104 · 18.04.2026 г., 19:37

#adabiyot HUSNI TA'LIL – “chiroyli dalillash” demak. Unda shoir biror holatga asl sababni emas (!), o’zi to’qigan yolg’on sababni bog'laydi. Masalan, "Nega bulutdan yomg'ir quyiladi?" degan savolga shoir barcha diniy va ilmiy sabablarni chetga surib, o'z to'qimasi bilan javob beradi: "Yor ishqida holim xarobligini troposferadan ko'rib qolgan bulut rahmi kelib yig'lab yuboradi. Anavi suv yomg'ir emas, bulutning achinish ko'zyoshlaridir". (Deyamush) Qisqasi, husni ta'lilni "kiydirish san'ati" desa ham bo'ladi. Husni ta’lil qanday topiladi? Avvalo, bu san’at bir so’zda emas, balki butunbir baytda bo’lishini bilishimiz lozim. Qolaversa: 1. Baytning MAZMUNIni tushunish kerak. 2. Shoir QAYSI HOLATni izohlamoqchi ekanini aniqlash kerak. 3. Shoirning YOLG’ONi (husni ta’lil) nimadan iborat ekanini topish kerak. 1-MISOL Zanburi asal og’zi to’la shahd ekaninidin, Erningni ko’rub, bemaza deb bol to’kubdur. (Lutfiy) 1. MAZMUNI: Asalarining og’zi asal (shahd)ga to’la ekan. Sening (yorga murojaat qilinyapti) labingni tatib ko’rib, asalari: “Endi asal bemaza tuyulyapti”, - debdi-yu, to’kib yuboribdi. 2. QAYSI HOLAT? Asalarining nega asal qilishi. 3. “YOLG’ON” (husni ta’lil): Asalari go'yo yorning shirin labi oldida o’g’zidagi asalning ancha bemaza ekanini bilgach, asaldan voz kechibdi (uni tashlab yubordi). Izoh: Aslida, asalari o’zi uchun asal tayyorlaydi, boringki, Alloh uni shunday yaratgan. Lekin Lutfiy bu sabablarni chetga surib: “Asalari yorimning labi tufayli asal to’kishni boshlagan. Ungacha asal to'kmas edi”, - deya bizni “kiydirmoqda”. 2-MISOL Yangi oy qoshlari xijlatidin, Oylarda biror-biror ko’rinur. (Atoiy) Keling, bu baytga boshqa usulni qo'llasak. Deylik, Qamchibek ustozi (bu o'rinda Atoiy)dan bir savol so'raydi, ustozi uni "aldaydi". Qamchibek: - Ustoz, nega yangi oy bir oyda bir chiqadi? Ustoz: - Bo'tam, bunga sabab shuki, oy o'zini "Men eng go'zalman, "Miss Universe"man" deb yurar edi. Bir kuni yorning qoshlari o'zidan go’zalroq ekanini ko'rib, aytgan gaplari (karillab qo'ygani) uchun ming xijolat bo’lib, oyda bir martagina ko’rinish beradigan bo'ldi. Husni ta’lil san’atini qo’llash mahorati bo’yicha turkiy adabiyotda Lutfiyga teng keladigani bo’lmagan. Quyidagi birgina baytdagi topilmaga guvoh bo’lib, fikrimiz to’g’riligiga amin bo’lasiz. 3-MISOL Labingdin chun suchuklik qand o’g’urlar, Solurlar el ani suvg’a yalang’och. (Lutfiy) Qamchibek: - Ustoz, nega qandni yalang'ochlab suvga solamiz? Ustoz: - Shuni ham bilmaysanmi, suvni shirin qilish uchun-da. - Bo'tam, bilasanki, o'g'ri qo'lga tushsa, u qochib ketmasligi va xaloyiq yig'ilishi uchun uni yalang'ochlab, suvga (hovuzga) tashlab qo'yamiz. Qand ham o'g'ri: u shirinlikni (chuchuklikni) yorimning labidan o'margan. Shu bois uni ham yalang'ochlab suvga solib qo'yamiz. #sanoye @sandiqchamiz