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

Пребарај: #riflesniper

当前筛选 #riflesniper清除筛选

🔫SVD: el rifle francotirador que conquistó el cine y la guerra El 'Snayperskaya Vintovka Dragunova', es un rifle sniper que marcó un antes y un después en el mundo de las armas de fuego. Su creador, Evgeni Fedorovich Dragunov, nació el 20 de febrero de 1920 en Izhevsk, una ciudad industrial clave en la Unión Soviética. Este ingeniero talentoso diseñó un arma que no solo revolucionó el combate, sino que también se coló en la cultura popular rusa a través del cine y que sigue siendo relevante hoy en día. Corría la década de 1960, en plena Guerra Fría, cuando el ejército soviético buscaba una herramienta que diera ventaja a sus francotiradores. Fue entonces cuando Dragunov, un experto en armas con experiencia en diseños innovadores, presentó el SVD. Adoptada oficialmente en 1963, destacó por ser el primer rifle francotirador semiautomático creado específicamente para ese rol. A diferencia de otras armas de la época, que solían ser adaptaciones de modelos existentes, este fue pensado desde cero para ofrecer precisión y fiabilidad en el campo de batalla. Con su calibre 7.62x54mm y un diseño ergonómico, se ganó rápidamente un lugar en el arsenal soviético. Su debut coincidió con un momento de alta tensión global, y pronto se vio en acción en conflictos como la guerra de Afganistán (1979-1989), donde demostró su valía en terrenos complicados. Al poco tiempo, también se convirtió en una especie de estrella en el cine ruso, apareciendo en películas que capturan la esencia de la vida militar y los conflictos postsoviéticos. Por ejemplo, en 'Блокпост' (Blokpost), de 1998, se muestra la crudeza de la guerra en Chechenia. En 'Война' (Guerra), de 2002, su presencia refuerza el dramatismo de la narrativa. Más allá del cine, sigue siendo un referente mundial. Actualmente, 26 países además de Rusia lo mantienen en sus Ejércitos, desde naciones ex soviéticas como Ucrania y Bielorrusia hasta otros como Vietnam o Irak. Su longevidad se debe a su diseño robusto y a su capacidad para adaptarse a modernizaciones, como miras telescópicas avanzadas. El SVD no es solo un arma; es un pedazo de historia. Representa el ingenio soviético en un contexto de rivalidad global y ha dejado una huella en la cultura militar rusa. #SVD#RifleSniper#HistoriaRusa#EvgenyDragunov#CineRuso ¡Comparte nuestro contenido!❤️ 🖥https://vamosarusia.com 💬@vamosarusia