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

Резултати

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

Пребарај: #hyperledger

当前筛选 #hyperledger清除筛选
djangoproject

@djangoproject · Post #499 · 14.11.2017 г., 16:33

https://pypi.python.org/pypi/hyperledger/0.1.5 #Python#client for #Hyperledger. This work is licensed under the Apache License, Version 2.0. Hyperledger Project is a new Collaborative Project at The Linux Foundation. The technical community is just getting started and will be adding code to the repository in the coming weeks. Check hyperledger.org for more information about joining the mailing lists and participating in the conversations. #Blockchains

Mirracoin Новости

@MirraChannel · Post #171 · 11.07.2024 г., 13:42

#блокчейн#крипто#BFT#инновации Что такое алгоритм консенсуса BFT? Открываем тайны блокчейна! 🌐 В мире блокчейна существует множество технологий, но алгоритм консенсуса BFT заслуживает особого внимания. Что за технология скрывается за этими тремя буквами? Давайте разберемся! ⚡️ Алгоритм консенсуса BFT (Byzantine Fault Tolerance) — это метод обеспечения согласованности данных в распределенной системе даже при наличии некоторого числа неполадок или атак. Он играет ключевую роль в обеспечении безопасности и надежности блокчейн сетей. ❓Как это работает? Представьте сеть, где каждый узел должен прийти к единому мнению о состоянии данных. Алгоритм BFT позволяет узлам достичь консенсуса путем обмена подписанными сообщениями и голосования. Это обеспечивает высокую степень защиты от манипуляций и ошибок. 📌Примеры применения #Hyperledger Fabric - использует алгоритм BFT для обеспечения высокой надежности и безопасности транзакций в корпоративных приложениях. Это особенно важно для бизнес-среды, где ошибка или атака могут иметь серьезные последствия. #Cosmos - использует алгоритм Tendermint BFT для обеспечения межсетевого взаимодействия и консенсуса между различными блокчейнами. #Algorand - использует уникальный алгоритм Pure Proof of Stake (PPoS), основанный на BFT, для достижения быстрого и безопасного консенсуса. @MirraChannel😎

Mirracoin Новости

@MirraChannel · Post #166 · 03.07.2024 г., 13:11

#блокчейн#Hyperledger#Sawtooth#консенсус#PoET#база Что такое Proof of Elapsed Time (PoET)? Proof of Elapsed Time (PoET) — (анг. доказательство истекшего времени) — это алгоритм консенсуса, модификация PoW, использующая мощности CPU. Этот алгоритм был разработан Intel и суть его работы в том, что каждому узлу в сети случайно назначается время ожидания. Узел, у которого время истечет первым, создаёт новый блок в блокчейне. 🔥 В консенсус заложены принципы алгоритма справедливой лотереи, где случайным образом выбирается валидатор пропорционально вложенным ресурсам. ❓ Как это работает? 1️⃣Генерация времени ожидания: Каждый узел генерирует случайное время ожидания. 2️⃣Ожидание: Узлы переходят в состояние ожидания на время, которое им выпало. 3️⃣Победитель: Узел, у которого время ожидания истекает первым, становится победителем и получает право создать новый блок. 👍Преимущества PoET ✔️Энергоэффективность: Не требует больших вычислительных мощностей. ✔️Безопасность: Использует надёжные аппаратные модули (например, Intel SGX). ✔️Децентрализация: Все узлы имеют равные шансы на создание блока. 📌#HyperledgerSawtooth использует PoET для консенсуса. Это позволяет создавать эффективную и масштабируемую блокчейн-сеть для различных бизнес-приложений, таких как цепочки поставок и цифровая идентификация. @MirraChannel😎