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

Пребарај: #smersh

当前筛选 #smersh清除筛选

🔍 Los secretos de SMERSH: La organización que aterrorizó a los espías nazis Cuando en 1942 el Tercer Reich comprendió que su ansiado blitzkrieg había fracasado, los altos mandos alemanes apostaron por la guerra en las sombras. La inteligencia nazi desplegó una vasta red de espionaje con agentes infiltrados en territorio soviético, con el propósito de desestabilizar al enemigo desde adentro. Pero el contraataque no tardó en llegar. SMERSH, un organismo de contrainteligencia creado para erradicar la presencia enemiga dentro de las filas soviéticas, emergió como una de las herramientas más letales en la lucha contra el espionaje alemán. Su nombre, una abreviatura de "Смерть шпионам!" (Muerte a los espías), dejó claro desde el principio cuál era su objetivo. Desde sus primeras operaciones, el organismo demostró una astucia despiadada. En lugar de simplemente neutralizar a los espías nazis, los agentes soviéticos utilizaron tácticas de desinformación para sembrar el caos dentro de la inteligencia alemana. Uno de los ejemplos más audaces ocurrió en el verano de 1944, cuando SMERSH hizo creer al Abwehr que en el área de Berézino, Bielorrusia, existía un grupo de soldados alemanes atrapados. La respuesta nazi fue inmediata: desde Berlín enviaron suministros, armas e incluso radio-operadores mediante paracaídas. Lo que no sabían era que todo el material que enviaban terminaba reforzando a las tropas soviéticas. Los espías no solo desmantelarón redes de espionaje enemigas, sino que evitó múltiples atentados contra líderes soviéticos, incluido un plan para asesinar a Iósif Stalin. También fue responsable de desbaratar operaciones del Ejército de Liberación Ruso (ROA) y la insurgente UPA. En sus pocos años de existencia, SMERSH capturó a más de 400 agentes nazis, ejecutó decenas de operaciones de contrainteligencia. A pesar de su eficacia, fue disuelto en 1946, con la reestructuración del aparato militar soviético tras la guerra. Sin embargo, la leyenda de esta organización sigue vigente, rodeada de secretos y operaciones que hasta hoy permanecen en archivos confidenciales.🇷🇺 #SMERSH#SegundaGuerraMundial#HistoriaSoviética#Espionaje#Contrainteligencia ¡Comparte nuestro contenido!❤️ 🖥https://vamosarusia.com 💬@vamosarusia