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

Пребарај: #inmo

当前筛选 #inmo清除筛选

#GotThis#Hardware#INMO#AR_Glasses INMO Air2 由一副无线一体机眼镜和一个蓝牙戒指构成的个人AR眼镜终端方案。 可独立运行,可自行安装App。 双目垂直阵列光波导显示模组,640x400分辨率。 紫光展锐 W517 穿戴硬件平台, 2GB RAM,32GB eMMC,Android 9 (32位)。 450mAh电池,最高可提供6小时的通知提醒续航能力,或最高提供2小时持续亮屏使用续航能力。磁吸充电数据线。 - - - 看完了苹果的PPT,不如看一下这个现在就能¥3999预定然后带回家的眼镜? 使用体验上可以这么形容:把一块智能手表糊到了脸上,在上面跑电视盒子里的软件,操作模式也是电视盒子软件的方向键加一个确定和返回。 但重点是:它能用。真的能用。 相比于第一代的INMO Air来说,性能和可用性提升了不少。双目显示也让单眼看着难受的问题也彻底解决了。第一代现在看起来就像是个玩具一样。 至于这个眼镜和其他市面上的产品相比的优势: 1. 垂直阵列光波导光学方案,从正面是看不到用户所看到的画面的,隐私性强,并且通透性很好,几乎就是普通透明玻璃一样。。虽然代价是分辨率不行,光学模组成本高,亮度对比度相对较差一些。 2. 至少设计上像是个普通眼镜。得益于光波导方案的高通透性,可以做到几乎透明的镜片。配合这个可能要捐献时间的黑框眼镜外观,可以作为日常佩戴的眼镜使用。别的各种所谓的AR眼镜设计造型都非常夸张,戴着出门生怕别人不知道你是个十足的怪咖。 3. 无线一体机设计,可以独立运行软件。手机App只是一个补充的功能,提供类似智能手表或者手环的消息推送,以及一些辅助功能信息的显示。比起市面上那一推必须插着手机才能用的所谓的AR眼镜们来说,能独立运行这才是AR应该有的样子,而不是单纯的作为一个手机副屏在旁边吃灰。 // 不过小厂自然有小厂的问题。 // 比如因为品控问题,预售发货直接拖了一整个月。 // 原计划4月30日发的,硬是拖到6月3日。 // 但小厂的好处是:他们真的愿意听用户的意见。 // 操作方式除了 上下左右+确定+返回 的遥控器按键模式可以用于戒指和右侧触控板操作外,戒指还支持空中飞鼠模式,允许控制鼠标指针来做全屏点击。 // 目前来说画饼的功能: // 1. 眼镜本身支持的双目显示在硬件上实际上支持双目分别显示,也就是3D画面模式。只是分别双目显示的这个功能暂时还没有在SDK内开放。 // 2. 眼镜提供了全球最轻量的SLAM算法,可以同时使用传感器融合和右侧黑白广角相机来实现6DoF空间定位。但目前没有实装。 // 3. INMOVERSE元宇宙应用,实现“线下元宇宙结合”。目前没有实装。 // 4. 接听电话和蓝牙耳机功能。预计在6月份的OTA中推送。