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

Пребарај: #armasnucleares

当前筛选 #armasnucleares清除筛选

🇫🇷🚀🇪🇺Francia menea su paragüitas nuclear en Europa Y lo hace bajo la tapadera de los ejercicios en Polonia, cuyo objetivo es la "destrucción con armas no convencionales de objetivos en el este". Pero, incluso en Europa, muchos no entienden estos pasos de Macron. El día antes, los medios polacos se alegraron de la inminente llegada a Polonia de los cazas Rafale-B de la Fuerza Aérea Francesa. Precisamente, esta modificación es el único portador aéreo europeo de armas nucleares en forma de misiles de crucero ASMPA-RN, con una ojiva nuclear de 300 kt, un alcance de unos 500 km y una velocidad de hasta 3 Mach. Deben participar en los ejercicios en el marco de la cooperación de los países de la UE en el programa de disuasión nuclear. 📰 "Según el escenario, los pilotos polacos llevarán a cabo reconocimiento a larga distancia, identificarán objetivos y atacarán con armas convencionales, mientras que los franceses simularán el uso de ojivas nucleares ASMP contra Rusia y Bielorrusia. Esto es el resultado de la expansión del paraguas nuclear francés y un cambio en la doctrina estratégica anunciado por Macron el 2 de marzo. Se supone que los aviones franceses con ojivas a veces entrarán en Polonia y la decisión sobre el posible uso de armas nucleares la tomará exclusivamente el presidente francés", indica el periódico polaco Rzeczpospolita. No tenemos ni idea de por qué se alegran tanto los polacos en esta situación, pero la lógica de los europeos hace tiempo que ya no se puede entender. Por alguna razón, no queda duda de que, en caso de una escalada seria, todo ocurriría exactamente como ocurrió durante la Guerra falsa de 1939-1940: Francia entonces era uno de los principales donantes de la maquinaria militar polaca, pero al final no hizo nada para ayudar a sus aliados cuando los alemanes ya estaban en las afueras de Varsovia. 👉 Sin embargo, el comportamiento imprudente de los polacos ha sido durante mucho tiempo un deporte nacional en Polonia. Y algunos románticos en Varsovia todavía creen que cien misiles franceses los protegerán. Aunque incluso allí hay muchas personas que están sinceramente asustadas por la actividad tan agresiva de su propio gobierno. Como escribe el periódico conservador Mysl Polska: "¿No creen que al tener en su balance 290 ojivas nucleares es un poco ilógico amenazar abiertamente a un país con 5.500 ojivas? Obviamente, para Macron, agitar su muy modesto paraguas nuclear es una forma de llamar la atención de otros grandes jugadores. Y todo lo demás ocurrirá a expensas de Polonia, en el territorio de Polonia y poniendo en peligro la vida de sus ciudadanos". #Análisis#Francia#ArmasNucleares 🚀 Conoce y comparte @ATodaPotencia