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

Пребарај: #humanitariancooperation

当前筛选 #humanitariancooperation清除筛选

🌐🤝Περισσότεροι από 2️⃣ χιλιάδες εκπρόσωποι από τη Ρωσία και το εξωτερικό — στο Διεθνές Φόρουμ Συνεργασίας στη Μόσχα! Στις 26 Οκτωβρίου στη Μόσχα πραγματοποιήθηκε το Διεθνές Φόρουμ Συνεργασίας, αφιερωμένο στα 100 χρόνια της λαϊκής διπλωματίας. Το φόρουμ συγκέντρωσε προσωπικότητες από τον χώρο της επιστήμης, του πολιτισμού, της διπλωματίας και εκπροσώπους οργανώσεων της κοινωνίας από πάνω από 100 χώρες. 🇬🇷 Η Ελλάδα εκπροσωπήθηκε από τον κ. Δημήτρη Πατέλη — διδάκτορα και καθηγητή φιλοσοφίας των επιστημών στο Πολυτεχνείο Κρήτης. Κύρια θέματα του Φόρουμ: 🔹 λαϊκή διπλωματία & διεθνής συνεργασία 🔹 πολιτιστική αλληλεπίδραση των χωρών 🔹 διαθρησκειακός διάλογος και ανθρωπιστικές πρωτοβουλίες 🔹 διατήρηση ιστορικής μνήμης & παραδοσιακών αξιών 📌 Κατά τη διάρκεια του Φόρουμ, το Ροσσοτρούντνιτσεστβο ανακοίνωσε την επέκταση του δικτύου των συνεργαζόμενων «Ρωσικών σπιτιών» σε χώρες της Αφρικής και της Ασίας. 🔗 Διαβάστε περισσότερα για την εκδήλωση εδώ ➡️https://clck.ru/3PykN5 🌐🤝Более 2 тысяч представителей России и зарубежных стран — на Международном форуме сотрудничества в Москве! 26 октября в Москве прошёл Международный форум сотрудничества, посвящённый 100-летию народной дипломатии. Форум объединил лидеров общественного мнения, учёных, деятелей культуры, дипломатов и космонавтов более чем из 100 стран мира 🇬🇷 Грецию на форуме представил Димитриос Пателис — доктор, профессор философии Критского политехнического университета. Ключевые темы форума: 🔹 народная дипломатия и международное сотрудничество 🔹 культурное взаимодействие стран 🔹 межрелигиозный диалог и гуманитарные инициативы 🔹 укрепление исторической памяти и традиционных ценностей 📌 В рамках форума Россотрудничество объявило о расширении сети партнёрских «русских домов» в ряде стран Африки и Азии. 🔗 Читайте подробнее о форуме здесь ➡️https://clck.ru/3PyahF #МеждународныйФорумСотрудничества#Россотрудничество#РусскийДом#Greece#PublicDiplomacy#Россия#ГуманитарноеСотрудничество#НароднаяДипломатия#CultureDialogue#Moscow #ΔιεθνέςΦόρουμΣυνεργασίας#ΡωσικόΣπίτι#Ροσσοτρούντνιτσεστβο#ΛαϊκήΔιπλωματία#Ελλάδα#Ρωσία#ΠολιτιστικήΔιπλωματία#HumanitarianCooperation#Moscow