Локальный переводчик
Мы живем в многоязычном мире. А поскольку каждый человек может выучить не так уж много языков, то, чтобы понимать друг друга, нам нужны переводчики. Переводчиком может быть и программа. Для создания таких программ в Python есть специальная библиотека — Translator.
Разъяснивший Python
Мы живем в многоязычном мире. А поскольку каждый человек может выучить не так уж много языков, то, чтобы понимать друг друга, нам нужны переводчики. Переводчиком может быть и программа. Для создания таких программ в Python есть специальная библиотека — Translator.
Разъяснивший Python
Метод remove() для удаления элемента из списка
В этом списке есть строки и целые числа. Есть повторяющиеся элементы: строка «Mars» и число 12.
Разъяснивший Python
В этом списке есть строки и целые числа. Есть повторяющиеся элементы: строка «Mars» и число 12.
Разъяснивший Python
Второстепенные (ч.1)
Учитывая, что a это число, ++a и --a оба являются допустимыми операторами Python, но ведут себя по-другому по сравнению с аналогичными операторами в таких языках, как C, C ++ или Java.
В грамматике Python нет ++ оператора. На самом деле это два + оператора.
++a разбирается как, +(+a) что переводится как a. Аналогично, вывод инструкции --a может быть оправдан.
В этом потоке StackOverflow обсуждается обоснование отсутствия операторов увеличения и уменьшения в Python.
Разъяснивший Python
Учитывая, что a это число, ++a и --a оба являются допустимыми операторами Python, но ведут себя по-другому по сравнению с аналогичными операторами в таких языках, как C, C ++ или Java.
В грамматике Python нет ++ оператора. На самом деле это два + оператора.
++a разбирается как, +(+a) что переводится как a. Аналогично, вывод инструкции --a может быть оправдан.
В этом потоке StackOverflow обсуждается обоснование отсутствия операторов увеличения и уменьшения в Python.
Разъяснивший Python
Второстепенные (ч.2)
Вы, должно быть, знаете о операторе Walrus в Python. Но слышали ли вы когда-нибудь о операторе space-invader?
Он используется в качестве альтернативного оператора увеличения вместе с другим
Эта шутка взята из твита Рэймонда Хеттингера. Оператор space invader на самом деле просто неправильно отформатирован a -= (-1). Что эквивалентно a = a - (- 1). Аналогично для a += (+ 1) случая.
Разъяснивший Python
Вы, должно быть, знаете о операторе Walrus в Python. Но слышали ли вы когда-нибудь о операторе space-invader?
Он используется в качестве альтернативного оператора увеличения вместе с другим
Эта шутка взята из твита Рэймонда Хеттингера. Оператор space invader на самом деле просто неправильно отформатирован a -= (-1). Что эквивалентно a = a - (- 1). Аналогично для a += (+ 1) случая.
Разъяснивший Python
👍2
Оператор обратной импликации.
В Python есть недокументированный оператор обратной импликации.
Если вы замените False и True на 0 и 1 и выполните математические вычисления, таблица истинности эквивалентна оператору обратной импликации.
Разъяснивший Python
В Python есть недокументированный оператор обратной импликации.
Если вы замените False и True на 0 и 1 и выполните математические вычисления, таблица истинности эквивалентна оператору обратной импликации.
Разъяснивший Python
Оператор @
Поскольку мы говорим об операторах, есть также @ оператор для умножения матриц (не волнуйтесь, на этот раз все по-настоящему).
Оператор @ был добавлен в Python 3.5 с учетом интересов научного сообщества. Любой объект может перегрузить matmul магический метод, чтобы определить поведение для этого оператора.
Разъяснивший Python
Поскольку мы говорим об операторах, есть также @ оператор для умножения матриц (не волнуйтесь, на этот раз все по-настоящему).
Оператор @ был добавлен в Python 3.5 с учетом интересов научного сообщества. Любой объект может перегрузить matmul магический метод, чтобы определить поведение для этого оператора.
Разъяснивший Python
Сколько может хранить переменных функция?
Python использует 2 байта для хранения локальных переменных в функциях. Теоретически это означает, что в функции может быть определено только 65536 переменных. Однако в python встроено удобное решение, которое можно использовать для хранения более 2 ^ 16 имен переменных. Следующий код демонстрирует, что происходит в стеке, когда определено более 65536 локальных переменных (Внимание: этот код печатает около 2 ^ 18 строк текста, так что будьте готовы!)
Разъяснивший Python
Python использует 2 байта для хранения локальных переменных в функциях. Теоретически это означает, что в функции может быть определено только 65536 переменных. Однако в python встроено удобное решение, которое можно использовать для хранения более 2 ^ 16 имен переменных. Следующий код демонстрирует, что происходит в стеке, когда определено более 65536 локальных переменных (Внимание: этот код печатает около 2 ^ 18 строк текста, так что будьте готовы!)
Разъяснивший Python
🤯1
Разбей и властвуй: как создать кастомный токенизатор в SpaCy
Статья показывает, как создавать кастомные токенизаторы в SpaCy для специфических задач: от разбивки текста по уникальным правилам до обработки экзотических языков программирования. Практические примеры включены.
Читать...
Разъяснивший Python
Статья показывает, как создавать кастомные токенизаторы в SpaCy для специфических задач: от разбивки текста по уникальным правилам до обработки экзотических языков программирования. Практические примеры включены.
Читать...
Разъяснивший Python
Хабр
Разбей и властвуй: как создать кастомный токенизатор в SpaCy
Привет, Хабр! Сегодня расскажем вам о том, как создавать собственные токенизаторы с SpaCy. Да-да, тот самый SpaCy , который мы все знаем и любим. Зачем нам свой токенизатор? Согласитесь, стандартные...
Print
Иногда
Это выведет
Разъяснивший Python
Иногда
print
метод может выводить значения не сразу.Это выведет
wtfpython
через 3 секунды из-за end
аргумента, потому что выходной буфер очищается либо после обнаружения, \n либо когда программа завершает выполнение. Мы можем принудительно очистить буфер, передав flush=True
аргумент.Разъяснивший Python
Count
'abc'.count('') == 4. Вот приблизительная реализация count метода, которая сделала бы вещи более понятными.
Такое поведение обусловлено сопоставлением пустой подстроки ('') с фрагментами длины 0 в исходной строке.
Разъяснивший Python
'abc'.count('') == 4. Вот приблизительная реализация count метода, которая сделала бы вещи более понятными.
Такое поведение обусловлено сопоставлением пустой подстроки ('') с фрагментами длины 0 в исходной строке.
Разъяснивший Python
generator expressions
Попробуем использовать генераторные выражения (для получения среза будем использовать функцию
Разъяснивший Python
Попробуем использовать генераторные выражения (для получения среза будем использовать функцию
islice
из itertools
, которая возвращает итератор по срезу)Разъяснивший Python
Увеличиваем размер выборки и прокрашиваем серые метрики: неочевидная ошибка при проведении А/B — тестов
В этой статье я постараюсь простым языком рассказать о последствиях, к которым может привести слепой запуск A/B-тестов без предварительного А/А-тестирования.
Читать...
Разъяснивший Python
В этой статье я постараюсь простым языком рассказать о последствиях, к которым может привести слепой запуск A/B-тестов без предварительного А/А-тестирования.
Читать...
Разъяснивший Python
Хабр
Увеличиваем размер выборки и прокрашиваем серые метрики: неочевидная ошибка при проведении А/B — тестов
Привет, Хабр Недавно посмотрел выступление Валерия Бабушкина, которое было опубликовано в далеком ковидном 2020 году, но тем не менее основная часть информации из этого...
Как объединить 5 языков программирования в одном Python проекте?
Цель статьи: попробовать написать одно приложение, где будет использоваться код, написанный на 5 разных языках программирования. Благо на сегодняшний день уже реализовано много библиотек, которые позволяют без лишних проблем это сделать.
Читать...
Разъяснивший Python
Цель статьи: попробовать написать одно приложение, где будет использоваться код, написанный на 5 разных языках программирования. Благо на сегодняшний день уже реализовано много библиотек, которые позволяют без лишних проблем это сделать.
Читать...
Разъяснивший Python
Хабр
Как объединить 5 языков программирования в одном Python проекте?
На сегодняшний день существует несколько тысяч языков программирования, каждый из которых создавался с определенной целью, пытаясь изменить и улучшить недостатки своих предшественников. Так, например,...
Оператор walrus (:=)
В этом примере мы используем оператор walrus (:=) для одновременного присваивания значения переменной line и проверки условия внутри цикла while. Это позволяет нам сократить код, объединив операции присваивания и проверки в одну строку.
Разъяснивший Python
В этом примере мы используем оператор walrus (:=) для одновременного присваивания значения переменной line и проверки условия внутри цикла while. Это позволяет нам сократить код, объединив операции присваивания и проверки в одну строку.
Разъяснивший Python
👍3❤1🔥1
Функция partial
В этом примере мы используем функцию partial для создания новых функций double и triple на основе функции multiply, фиксируя аргумент y на значениях 2 и 3 соответственно. Теперь новые функции могут быть вызваны с одним аргументом, в то время как фиксированный аргумент уже задан.
Разъяснивший Python
В этом примере мы используем функцию partial для создания новых функций double и triple на основе функции multiply, фиксируя аргумент y на значениях 2 и 3 соответственно. Теперь новые функции могут быть вызваны с одним аргументом, в то время как фиксированный аргумент уже задан.
Разъяснивший Python
👎1
Модуль asyncio
В этом примере мы используем модуль asyncio для создания асинхронной программы. Определяем асинхронную корутину my_coroutine, которая выполняет асинхронную операцию (в данном случае, ожидание 1 секунды). Затем определяем асинхронную функцию main, которая вызывает две корутины одновременно с помощью asyncio.gather. В конце мы используем asyncio.run для запуска основной функции main.
Разъяснивший Python
В этом примере мы используем модуль asyncio для создания асинхронной программы. Определяем асинхронную корутину my_coroutine, которая выполняет асинхронную операцию (в данном случае, ожидание 1 секунды). Затем определяем асинхронную функцию main, которая вызывает две корутины одновременно с помощью asyncio.gather. В конце мы используем asyncio.run для запуска основной функции main.
Разъяснивший Python
Декоратор @property
В этом примере мы определяем класс Circle с атрибутом radius и методом area, который вычисляет площадь окружности. Мы добавляем декоратор @property перед методом area, чтобы можно было обращаться к нему как к свойству объекта circle, без явного вызова метода.
Разъяснивший Python
В этом примере мы определяем класс Circle с атрибутом radius и методом area, который вычисляет площадь окружности. Мы добавляем декоратор @property перед методом area, чтобы можно было обращаться к нему как к свойству объекта circle, без явного вызова метода.
Разъяснивший Python
Сортировка HTML-элементов по названию
С помощью метода
Разъяснивший Python
С помощью метода
find_all
мы можем сортировать все элементы, которые соответствуют некоторым критериям.Разъяснивший Python
Сортировка HTML-элементов по CSS-селектору
С помощью методов
Разъяснивший Python
С помощью методов
select
и select_one
мы можем использовать некоторые селекторы CSS для сортировки элементов.Разъяснивший Python
Создания декораторов с помощью декоратора @wraps
В этом примере мы используем модуль functools и декоратор @wraps, чтобы создать декоратор my_decorator. Декоратор @wraps применяется к внутренней функции wrapper и копирует метаданные (имя функции, документацию и др.) из декорируемой функции func. Это полезно, чтобы сохранить исходные атрибуты функции и предотвратить их затирание. В примере мы декорируем функцию my_function с помощью @my_decorator и выполняем ее.
Разъяснивший Python
В этом примере мы используем модуль functools и декоратор @wraps, чтобы создать декоратор my_decorator. Декоратор @wraps применяется к внутренней функции wrapper и копирует метаданные (имя функции, документацию и др.) из декорируемой функции func. Это полезно, чтобы сохранить исходные атрибуты функции и предотвратить их затирание. В примере мы декорируем функцию my_function с помощью @my_decorator и выполняем ее.
Разъяснивший Python