У строки в 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
#pulpnonfiction
«Я провел в тюрьме восемь дней. Позже, когда в Германии вышел первый перевод моей книги, издатель написал на обложке, что я сидел месяц; книга плохо продавалась, поэтому на следующей они написали, что я провел в камере три месяца; к выходу третьей книги я „сидел“ уже четыре месяца. Полагаю, если книги и дальше будут плохо продаваться, мне светит пожизненное». — Из интервью чилийского писателя Роберто Боланьо, одного из героев книги «Ночная смена».
#pulpnonfiction
Книга Джулии Шоу «Психология зла» (Альпина Паблишер, 2021) простенькая, но местами даже симпатичная. Это, скорее, «этика для начинающих», а не «что читать после Ханны Арендт». Правда, в 2019 году делать далеко идущие выводы из экспериментов Милгрэма и Зимбардо немного странно. Как и иллюстрировать эффектом Дженовезе рассказ о диффузии ответственности.
В главе о психологии группового мышления Шоу упоминает еще один классический эксперимент: в 1959 году Фестингер и Карлсмит исследовали в Стэнфорде когнитивный диссонанс (собственно, Фестингер является автором этого термина). Коротко можно описать эксперимент так: студентов заставили выполнять скучную работу, а потом попросили соврать следующим испытуемым (подставным), что работа интересная. Студентов разделили на три группы: контрольная группа никому не врала, вторым предложили за ложь один доллар, третьим — 20 долларов. А в конце студентов попросили оценить, насколько работа была интересной. В итоге самый мощный когнитивный диссонанс получили участники, вравшие за 1 доллар: «Неужели я такое говно за 1 доллар? Наверное, мне действительно понравилось». То есть люди скорректировали свои убеждения под поведение.
Бегло погуглив, я не нашла разоблачающих эксперимент статей на русском и английском. Правда, в эксперименте участвовало всего 70 студентов, из них десяток сыграли не по правилам. Интересно было бы его воспроизвести, ведь в отличие от того же Милгрэма или «третьей волны» он вполне этичен. Хотя, может мы сейчас все вместе и воспроизводим.
***
В целом, если вы в последние дни читаете недостаточно текстов про дегуманизацию, ранимый нарциссизм и гипотезу справедливого мира, то Джулия Шоу в своей книге кратко об этом расскажет.
#pulpnonfiction
Дочитала две книги — «За фасадом. 25 писем о Петербурге и его жителях» (Алексей Шишкин и Эля Новопашенна; Бомбора, 2020) и «Истории домов Петербурга, рассказанные их жителями» (Юлия Галкина, Максим Косьмин, Антон Акимов; Бомбора, 2019). Оценку дам в конце, а сейчас хочу написать про один общий мотив, который меня особенно тревожит в последние дни — каково это решиться покинуть свой дом. В «Историях…» эта тема, конечно, ярче выражена, потому что авторы пытались найти в выбранных домах семьи, непрерывно живущие в одном месте на протяжении нескольких поколений. И сыскать семью, которая жила бы в доме до 1917 года и продолжала бы жить до конца XX века, едва удается. Кто-то из жильцов исчезал явно, кто-то тихо, некоторым удавалось уехать, а некоторые — не успели. Жильцы, пережившие 1917 год исчезали в конце 1930-х. А затем война, блокада, эвакуация.
#pulpnonfiction
Продолжим тему. «Скандинавские мифы. От Тора и Локи до Толкина и Игры престолов» Кэролин Ларрингтон (МИФ, 2019; оригинал 2017). МИФу надо продавать эти две книги вместе в крафтовой коробке с мишурой и еще с чем-нибудь тематическим, не знаю, с заготовкой для топора, например.
Снова серийная книга (из недавнего в той же серии вышли «Славянские мифы» Александры Барковой), двести с небольшим страниц концентрированной информация про мифы, источники и артефакты. Мифы условно поделены на богов и героев.
Хотя про скандинавские мифы уже столько перечитано, в голове я могу удержать только топ-10 персонажей с их родственными связями и парой похождений. Чуть отвлечешься, а в тексте уже Хейдрек убивает брата Ангантюра (разумеется, как и было предсказано), а мать Хервёр даёт ему меч Тюрвинг в качестве прощального дара. Кто эти люди (и люди ли?), пустят ли их в Вальхаллу, на чей стороне они будут во время Рагнарёка? Но это и неважно.
#pulpnonfiction
Стив Эшби, Элисон Леонард «Викинги» (МИФ, 2021, перевод с англ. Ольги Быковой; оригинал — 2018 год) [у книги еще есть неприятный и ненужный подзаголовок «Тайны истории», брр]
В МИФе вышла вторая книга из серии Pocket Museum. Книги серии — иллюстрированные каталоги экспонатов со всего света с небольшими комментариями и человечками на полях (для масштаба).
Может показаться, что викинги — это сплошь разбойники и все предметы их культуры ворованные. Но это не так, в книге есть еще копролиты. На самом деле, поражает широта географии викингов, торговых и неторговых контактов — от Ньюфаундленда до Ближнего Востока.
Что интересного:
- крестик, который постепенно переходит в голову волка (и, можно сказать, молот Тора; что характерно, X век, Исландия);
- браслет с подвесками-масками (прям Пандора эпохи викингов);
- ведро Будды (хотя фраза «ведро принадлежало представителю элиты» звучит забавно, ведро действительно красивое, и человечек там в позе лотоса со свастикой, на самом деле, ирландского происхождения).
Цитата:
На рубеже веков беды, связанные с набегами викингов, вынудили короля Англии Этельреда II Нерешительного прибегнуть к радикальным мерам. В 1002 он издал эдикт, позволяющий убивать данов.
Не такой уж и нерешительный, геноцид даже устроил.
Кстати, только недавно в ГИМ закончился выставка, посвященная викингам, эта книга прекрасно ее дополняет. На выставке я узнала слово «умбон» — это бляха по центру щита, защищающая руку.
#pulpnonfiction
«Странная обезьяна. Куда делась шерсть и почему люди разного цвета» (Александр Соколов, Альпина нон-фикшн, 2020)
Два главных вопроса, на которые ищет ответы автор, удобно вынесены в подзаголовок, а сама книга поделена на две больших части: собственно, про шерсть и цвет. «Странная обезьяна» — это метаисследование, обзор гипотез и их статус в современной науке. Спойлер: однозначных ответов нет, даже темная кожа как защита от ультрафиолета не такой строгий факт, как считалось раньше, а с шерстью вообще всё сложно (мой фаворит — гипотеза неотении). Кстати, по ходу чтения необязательно конспектировать все гипотезы, автор их удобно собрал в табличках в конце разделов (просветительский опыт не пропьёшь). Вторая просветительская черта — подавать информацию в формате миф-опровержение (в таком формате полностью написана другая книга Соколова «Мифы об эволюции человека», которую тоже рекомендую, особенно новичкам в теме физической антропологии).
#pulpnonfiction
«Бумага: форма терпения в российских пределах» (Алексей Малахов, 2018, Медиарост) — очень краткая история российского бумагоделания с тысячей иллюстраций и странными эпиграфами.
Наличие популярной красочной книги об истории бумаги в России — это прекрасно. Но непонятно, зачем было делать такой большой замах: от петроглифов Хакасии до киндла. В итоге начало и конец книги получились конспективными и как будто для галочки. Главы про современное производство тоже нельзя назвать удачными. Я понимаю, что у книги есть спонсор, но зачем же таким казенным языком писать.
При этом у книги есть два больших плюса:
1) иллюстрации (представляете, найти почти тысячу иллюстраций с очищенными правами, да еще заказать серию иллюстраций у художника),
2) главы об истории бумажных фабрик в России (собственно о чем могла бы быть вся книга, но нет).
#pulpnonfiction
В МИФе вышла поистине рождественская книга — «Мастер шейков и "Маргариты". Коктейли для запойных читателей» Тима Федерле (запойных!). Это сборник авторских коктейлей и небольшого числа закусок, навеянных Ферделе литературными произведениями и их персонажами. Ирония, каламбуры, теплота к любимым книгам, всё как мы любим.
#pulpnonfiction
«Путеводитель по ВДНХ» (Павел Нефедов, 2014)
Проект ABC Design и Государственного музея архитектуры им. А.В. Щусева — идеальное сочетание, нет вопросов ни к содержанию, ни к изданию. Кроме того, благодаря участию музея, в книге много архивных фотографий. Путеводители — непростой жанр, но в этом случае рубрикация, карты, маршруты сделаны здорово. Что можно улучшить: 1) нет полного списка несохранившихся павильонов, только его часть, 2) в краткой справке о павильоне не хватает истории смены его профиля по годам.
Книга вышла к юбилею в 2014 году и изменения в облике ВДНХ с тех пор, конечно, есть. Но этот путеводитель в большей степени историко-архитектурный, нежели туристско-развлекательный, поэтому процентов 95 актуально. А если нужно расписание событий и время работы музеев (центр славянской письменности «Слово» — горячо рекомендую), то лучше скачать официальное приложение ВДНХ или покопаться на сайте: https://vdnh.ru/places/
#pulpnonfiction
Андрей Зорин «Жизнь Льва Толстого. Опыт прочтения» (НЛО, 2020, перевод с английского — Андрей Зорин).
«Жизнь Льва Толстого» — очень ясная и сфокусированная работа. Андрей Зорин на 250 страницах создает объемный портрет жизни писателя через его тексты: дневники, тайные дневники, письма, публицистика и, конечно, художественные произведения.
#pulpnonfiction
Уилл Сторр «Селфи. Почему мы зациклены на себе и как это на нас влияет» (Individuum, 2019)
на картинке плохо видно, но у книги зеркальная обложка — хорошее приобретение для домашней библиотеки, если любите интересную полиграфию