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

Резултати

Пронајдени 2 слични објави

Пребарај: #marnegro

当前筛选 #marnegro清除筛选

🇷🇺⚔️🇹🇷Cómo Rusia venció a los turcos en 1791: la estrategia audaz de Ushakov El 11 de agosto de 1791, frente a las escarpadas costas del cabo Kaliakria, en el Mar Negro, se libró una de las batallas navales más emblemáticas de la historia rusa. Bajo el mando del almirante Fiódor Ushakov, la escuadra imperial rusa enfrentó y derrotó a la poderosa flota otomana en un combate que marcó el cierre de la Guerra Ruso-Turca de 1787-1791. Lo que hizo única esta victoria no fue solo el resultado, sino la forma en que Ushakov la consiguió. En lugar de seguir la formación naval tradicional (una línea paralela que permitía intercambiar fuego de cañón de forma ordenada) Ushakov optó por una maniobra audaz: ordenó a sus barcos atacar directamente la formación turca, rompiendo el esquema clásico y tomando por sorpresa a los otomanos. Esta táctica, considerada revolucionaria para la época, demostró la genialidad táctica del almirante ruso. El encuentro tuvo lugar cerca de la actual costa de Bulgaria, donde la flota rusa, compuesta por 15 navíos de línea y varias fragatas, se enfrentó a una fuerza otomana superior en número y artillería: 18 barcos de línea, 17 fragatas y más de 1.800 cañones. A pesar de la desventaja, Ushakov maniobró con precisión, dividiendo su escuadra en tres columnas y posicionándose entre los turcos y la costa, ignorando incluso las baterías enemigas apostadas en tierra. El enfrentamiento comenzó a las 16:45 y se prolongó hasta las 20:30, cuando la oscuridad obligó a cesar el fuego. Aunque ninguna de las partes perdió un barco, los daños sufridos por la flota otomana fueron considerables, obligándola a retirarse hacia Estambul. Las bajas rusas fueron mínimas: 17 muertos y 28 heridos, mientras que la fragata Alexander Nevsky resultó dañada. Este triunfo no solo consolidó la reputación de Ushakov como estratega naval, sino que también selló el fin de la guerra con la firma del Tratado de Jassy en 1792, que reafirmó la influencia rusa en el Mar Negro y debilitó el poder otomano en la región. Hoy, más de dos siglos después, la figura de Ushakov sigue siendo venerada en Rusia. Considerado patrón de la Armada rusa y canonizado por la Iglesia Ortodoxa, su legado trasciende lo militar. #HistoriaRusa#Ushakov#BatallaNaval#ImperioOtomano#MarNegro Apóyanos pulsando👉'BOOST'👈 🖥https://vamosarusia.com 💬@vamosarusia

🏰Nido de Golondrina: historia, arquitectura y belleza en el mar Negro El 'Nido de Golondrina', ubicado en el borde rocoso de la costa del Mar Negro en Crimea, es uno de los destinos históricos más emblemáticos y fascinantes de Rusia. Este pintoresco castillo, con una arquitectura que evoca los cuentos medievales, fue construido en 1912 como residencia de verano para el empresario alemán, el barón Wladimir von Steingel. Hoy en día, su silueta se alza como un símbolo de la herencia cultural y natural de la región. No solo destaca por su arquitectura, sino también por los cambios que experimentó a lo largo del tiempo. Inicialmente, el barón Steingel construyó la estructura para disfrutar de la belleza de Crimea y las vistas espectaculares del Mar Negro. Sin embargo, con el tiempo, el castillo cambió de propietarios y propósitos. Durante el período soviético, fue transformado en un restaurante y posteriormente en un espacio para eventos culturales. Desafortunadamente, esta joya arquitectónica cayó en el abandono durante décadas, perdiendo su esplendor original. Fue solo en los últimos años que se emprendieron esfuerzos de restauración que lograron devolverle su belleza y convertirlo en una de las atracciones turísticas más populares de Crimea. El castillo está construido en estilo neogótico y parece casi suspendido sobre un acantilado que se eleva a 40 metros sobre el mar Negro. Su diseño compacto y elegante, con torres y detalles ornamentales, complementa perfectamente el entorno natural. Desde su mirador, los visitantes disfrutan de vistas impresionantes que fusionan el azul profundo del mar con el majestuoso paisaje montañoso. Actualmente, el Nido de Golondrina es un símbolo de Crimea y uno de los lugares más fotografiados de la región. Miles de turistas acuden cada año para admirar su arquitectura, explorar su historia y contemplar las vistas panorámicas que ofrece. Además, este castillo ha servido como escenario para películas, sesiones fotográficas y eventos que celebran la riqueza cultural de Rusia. #NidoDeGolondrina#CastilloCrimea#HistoriaDeRusia#MarNegro#TurismoCultural ¡Comparte nuestro contenido!❤️ 🖥https://vamosarusia.com 💬@vamosarusia