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

Пребарај: #fuerzasnavales

当前筛选 #fuerzasnavales清除筛选

⚓¿Por qué Rusia celebra su poder naval cada 30 de octubre? Cada 30 de octubre, Rusia conmemora el Día de la Fundación de su Armada, una fecha que no solo honra a los marineros de superficie, sino que también recuerda el inicio de una transformación histórica impulsada por uno de los líderes más visionarios del país: el zar Pedro I, conocido como Pedro el Grande. 📜 1696: el nacimiento de una potencia naval La historia nos lleva al otoño de 1696, cuando la Duma de los Boyardos, bajo la firme iniciativa de Pedro I, aprobó la creación de una flota naval regular. Esta decisión no fue un capricho, sino parte de una estrategia más amplia para modernizar Rusia y posicionarla como una potencia europea. Hasta entonces, el país contaba con flotillas irregulares, pero carecía de una fuerza naval organizada capaz de proteger sus intereses marítimos. Pedro el Grande entendía que, sin acceso al mar, Rusia quedaría rezagada en comercio, defensa y diplomacia. Por eso, tras la campaña militar en Azov contra el Imperio Otomano, el zar impulsó la construcción de buques en los astilleros de Vorónezh, San Petersburgo y Arcángel. Así nacieron las primeras flotas del Azov y del Báltico, que más tarde se expandirían al Pacífico, el Norte, el Mar Negro y el Caspio. ⚓️ Una celebración moderna con raíces imperiales Desde 1996, por orden del comandante en jefe de la Armada de la Federación Rusa, el 30 de octubre también se celebra como el día profesional de los marineros de superficie. Esta fecha se distingue de otras conmemoraciones navales como el Día de la Armada (último domingo de julio), ya que pone el foco en quienes operan en buques de guerra y patrulleros, manteniendo viva la tradición iniciada por Pedro I. 🛳 Un legado que sigue navegando La Armada rusa, que en el siglo XVIII llegó a ocupar el tercer lugar mundial en número de buques de guerra, sigue siendo un pilar estratégico para Moscú. Hoy cuenta con más de 300 embarcaciones activas y bases en puntos clave como Sebastopol, Vladivostok y Kronstadt. Este día no solo celebra a los marinos, sino que también recuerda cómo una decisión tomada hace más de tres siglos cambió el rumbo de Rusia y la conectó con el mundo a través de sus mares. #ArmadaRusa#PedroElGrande#HistoriaDeRusia#FuerzasNavales#DíaDeLaArmada Apóyanos pulsando👉'BOOST'👈 🖥https://vamosarusia.com 💬@vamosarusia