Форум сайта python.su
0
Всем привет!
Кто-нибуть может подсказать чем отличаются строковые методы isdecimal() и isdigit()
Насколько я понимаю и тот и тот возвращает True если строка состоит из десятичных цифр ‘895893’
иначе False ('37845.34')
Отличие между ними есть? И в чем если есть? На примерах
Спасибо.
Офлайн
857
>>> lst = [(chr(i), hex(i)) for i in range(0x110000) if chr(i).isdigit() and not chr(i).isdecimal()] >>> len(lst) 128 >>> lst [('²', '0xb2'), ('³', '0xb3'), ('¹', '0xb9'), ('፩', '0x1369'), ('፪', '0x136a'), ('፫', '0x136b'), ('፬', '0x136c'), ('፭', '0x136d'), ('፮', '0x136e'), ('፯', '0x136f'), ('፰', '0x1370'), ('፱', '0x1371'), ('᧚', '0x19da'), ('⁰', '0x2070'), ('⁴', '0x2074'), ('⁵', '0x2075'), ('⁶', '0x2076'), ('⁷', '0x2077'), ('⁸', '0x2078'), ('⁹', '0x2079'), ('₀', '0x2080'), ('₁', '0x2081'), ('₂', '0x2082'), ('₃', '0x2083'), ('₄', '0x2084'), ('₅', '0x2085'), ('₆', '0x2086'), ('₇', '0x2087'), ('₈', '0x2088'), ('₉', '0x2089'), ('①', '0x2460'), ('②', '0x2461'), ('③', '0x2462'), ('④', '0x2463'), ('⑤', '0x2464'), ('⑥', '0x2465'), ('⑦', '0x2466'), ('⑧', '0x2467'), ('⑨', '0x2468'), ('⑴', '0x2474'), ('⑵', '0x2475'), ('⑶', '0x2476'), ('⑷', '0x2477'), ('⑸', '0x2478'), ('⑹', '0x2479'), ('⑺', '0x247a'), ('⑻', '0x247b'), ('⑼', '0x247c'), ('⒈', '0x2488'), ('⒉', '0x2489'), ('⒊', '0x248a'), ('⒋', '0x248b'), ('⒌', '0x248c'), ('⒍', '0x248d'), ('⒎', '0x248e'), ('⒏', '0x248f'), ('⒐', '0x2490'), ('⓪', '0x24ea'), ('⓵', '0x24f5'), ('⓶', '0x24f6'), ('⓷', '0x24f7'), ('⓸', '0x24f8'), ('⓹', '0x24f9'), ('⓺', '0x24fa'), ('⓻', '0x24fb'), ('⓼', '0x24fc'), ('⓽', '0x24fd'), ('⓿', '0x24ff'), ('❶', '0x2776'), ('❷', '0x2777'), ('❸', '0x2778'), ('❹', '0x2779'), ('❺', '0x277a'), ('❻', '0x277b'), ('❼', '0x277c'), ('❽', '0x277d'), ('❾', '0x277e'), ('➀', '0x2780'), ('➁', '0x2781'), ('➂', '0x2782'), ('➃', '0x2783'), ('➄', '0x2784'), ('➅', '0x2785'), ('➆', '0x2786'), ('➇', '0x2787'), ('➈', '0x2788'), ('➊', '0x278a'), ('➋', '0x278b'), ('➌', '0x278c'), ('➍', '0x278d'), ('➎', '0x278e'), ('➏', '0x278f'), ('➐', '0x2790'), ('➑', '0x2791'), ('➒', '0x2792'), ('𐩀', '0x10a40'), ('𐩁', '0x10a41'), ('𐩂', '0x10a42'), ('𐩃', '0x10a43'), ('𐹠', '0x10e60'), ('𐹡', '0x10e61'), ('𐹢', '0x10e62'), ('𐹣', '0x10e63'), ('𐹤', '0x10e64'), ('𐹥', '0x10e65'), ('𐹦', '0x10e66'), ('𐹧', '0x10e67'), ('𐹨', '0x10e68'), ('𑁒', '0x11052'), ('𑁓', '0x11053'), ('𑁔', '0x11054'), ('𑁕', '0x11055'), ('𑁖', '0x11056'), ('𑁗', '0x11057'), ('𑁘', '0x11058'), ('𑁙', '0x11059'), ('𑁚', '0x1105a'), ('🄀', '0x1f100'), ('🄁', '0x1f101'), ('🄂', '0x1f102'), ('🄃', '0x1f103'), ('🄄', '0x1f104'), ('🄅', '0x1f105'), ('🄆', '0x1f106'), ('🄇', '0x1f107'), ('🄈', '0x1f108'), ('🄉', '0x1f109'), ('🄊', '0x1f10a')] >>>
Отредактировано py.user.next (Сен. 13, 2015 17:14:43)
Офлайн
0
ок спасибо
Офлайн
0
хороший пример. у меня в отношении него есть вопрос:
почему выскакивает ошибка при использовании функции print(lst):
>>> lst =
[(chr(i), hex(i)) for i in range(0x110000) if chr(i).isdigit() and not chr(i).isdecimal()>>> print(len(lst))
]
Отредактировано dikbron (Сен. 17, 2015 16:13:01)
Офлайн
5
dikbron
Non-BMP character not supported in Tk
dikbron
File “C:\Program Files\Python 3.5\lib\idlelib\PyShell.py”, line 1343, in write
dikbron
как ее можно исправить?
Офлайн
0
i.slepovна Linux может и работает но у меня Winda+ в Sublime text 3 тоже работает но с пакетами.
На Linux работает. Попробуйте то же самое без IDLE в консоле.
У вас тикиль не может отобразить эти символы.
Офлайн
857
dikbron
меня интересует как исправить подобную ошибку в Винде
dikbronКириллица в компах - не такое уж новое изобретение, поэтому она есть в древних однобайтовых кодировках, которыми пользуется винда.
пути прописаны, кириллицу печатает нормально
Отредактировано py.user.next (Сен. 18, 2015 02:50:34)
Офлайн
5
Офлайн
0
i.slepovспасибо за инфу
Тут и тут подробнее.
Офлайн