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

Пребарај: #cmcei

当前筛选 #cmcei清除筛选

Международный совет по сотрудничеству и инвестициям предложил Правительству упростить условия въезда в Россию высококвалифицированных иностранных сотрудников 11 декабря 2020 года Международным советом по сотрудничеству и инвестициям (МССИ), направлено письмо Председателю Правительства Российской Федерации М.В. Мишустину с предложением о смягчении отдельных положений распоряжения Правительства Российской Федерации от 25 июня 2020 года №1671, касающихся въезда на территорию РФ иностранного высококвалифицированного персонала (ВКС). В частности, предложено: Разрешить многократный въезд на территорию РФ ВКС при наличии медицинского документа, подтверждающего отрицательный результат лабораторного исследования материала на COVID-19, отобранного не ранее чем за три дня до прибытия на территорию РФ; Предоставить возможность многократного въезда на территорию РФ членам семей ВКС при предоставлении теста; Возобновить деловые поездки для представителей международных офисов компаний, которые работают на территории РФ, при условии соблюдения указанных эпидемиологических мер. Решение направить совместное письмо было принято на состоявшемся 26 ноября 2020 года очередном заседании МССИ с участием Посла Европейского Союза в Российской Федерации М.Эдерера. МССИ – консультативный орган, образованный Российским союзом промышленников и предпринимателей в 2008 году в качестве платформы для диалога иностранного бизнеса с российской властью. МССИ объединяет ведущих зарубежных инвесторов в российскую экономику, деловые ассоциации и торгово-промышленные палаты. Возглавляет МССИ Президент РСПП А.Н.Шохин, сопредседателями МССИ являются руководитель Комитета РСПП по международному сотрудничеству В.Ф.Вексельберг, а также лидеры страновых иностранных бизнес-ассоциаций: Президент Американской торговой палаты в России Алексис Родзянко, Председатель Правления Ассоциации европейского бизнеса в Российской Федерации Йохан Вандерплаетсе, руководитель Японской ассоциации по торговле с Россией и новыми независимыми государствами РОТОБО Саито Даисукэ, председатель Российско-германской внешнеторговой палаты Маттиас Шепп, генеральный директор Французской ТПП в России Эммануэль Киде. 1prime.ru Коммерсантъ Источник на странице Центра многостороннего сотрудничества и евразийской интеграции Российского союза промышленников и предпринимателей (РСПП): https://xn--o1aabe.xn--p1ai/events/news/mezhdunarodnyy-sovet-po-sotrudnichestvu-i-investitsiyam-predlozhil-pravitelstvu-uprostit-usloviya-ve-5fd9cb8534665/ #РСПП#МССИ#ЦМСЕИ#RSPP#ICCI#CMCEI