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

Резултати

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

Пребарај: #jvm

当前筛选 #jvm清除筛选
Android Broadcast

@android_broadcast · Post #8693 · 14.02.2025 г., 10:44

Секреты JVM: что происходит с ошибками под капотом (4м) Статья с примерами кода, как JVM обрабатывает исключения на низком уровне, что такое таблица исключений и какие сценарии используются для вариантов try-catch и try-finally. #jvm

Hashtags

Android Broadcast

@android_broadcast · Post #8871 · 27.03.2025 г., 17:20

🚀Jetpack Navigation теперь поддерживает тестирование не только на Android в версии 2.9.0-alpha09. Теперь для тестирования навигации не требуется Android-устройство, эмулятор или использование Robolectric, благодаря тому что артефакт navigation-testing поддерживает JVM Desktop таргет KMP. Также поддерживается iOS. #android#jvm#desktop#jetpack#jetpackupdate#навигация#ios

YuKongA | Channel

@YuKongA13579 · Post #842 · 07.06.2024 г., 06:37

主要更新: - Fix search DEV info - Bump version to v1.1.0 - Add Redmi A3 & Redmi Note 13R - Optimize the size of Android app - Optimize the night mode of Android app - Update deps 增强软件的业务能力: 1. 当查询的版本存在,且是最新版本,显示查询版本的信息; 2. 当查询的版本存在,但不是最新版本,显示查询版本的信息的同时返回更新到最新版本的增量信息; 2. 当查询的版本不存在,但是比最新稳定版版本低,返回最新版本; 3. 当查询的版本不存在,且比最新稳定版版本高,如果此时登录了拥有开发版权限的账号,返回开发版最新版本。 #UpdaterKMM#JVM#Compose#APK#Xiaomi#HyperOS#MIUI

GitHub Trends

@githubtrending · Post #15108 · 30.08.2025 г., 14:00

#kotlin#agentframework#agentic_ai#agents#ai#aiagentframework#android_ai#anthropic#generative_ai#java#jvm#kotlin#ktor#llm#mcp#ollama#openai#spring Koog is a Kotlin-based open-source framework that helps you build AI agents fully in Kotlin, making it easy to create smart assistants that can use tools, manage complex tasks, and remember past interactions. It supports multiple AI models like OpenAI and Google, runs on many platforms (JVM, JavaScript, iOS), and offers features like real-time streaming, custom tools, and efficient memory use. Koog also provides debugging tools, flexible workflows, and scales from simple chatbots to enterprise systems. Using Koog lets you develop powerful, maintainable AI agents quickly and naturally within the Kotlin ecosystem, benefiting your projects with speed, flexibility, and strong integration options. https://github.com/JetBrains/koog