Рисуем звезду при помощи 🐢
Результат нашего кода находится в посте выше.
Подробнее можно почитать здесь.
Результат нашего кода находится в посте выше.
turtle(черепаха) — это библиотека Python, похожая на доску для рисования, которая позволяет нам приказать черепахе рисовать на ней! Мы можем использовать множество функций черепахи, которые могут перемещать черепаху.Подробнее можно почитать здесь.
This media is not supported in your browser
VIEW IN TELEGRAM
Физика в Python с использованием Pymunk
В этой статье мы рассмотрим, как самому создавать физические симуляции, используя всего 2 библиотеки Python.
Смотреть статью
В этой статье мы рассмотрим, как самому создавать физические симуляции, используя всего 2 библиотеки Python.
Смотреть статью
#вопросы_с_собеседований
List и Tuples — зачем нужны и какие отличия?
Ключевое различие между ними заключается в том, что в то время как
List и Tuples — зачем нужны и какие отличия?
List и Tuples - это типы данных, которые хранят коллекцию объектов в Python. Объекты, хранящиеся в обеих последовательностях, имеют разные типы данных. List представлены квадратными скобками ['sara', 6, 0.19], а tuples - круглыми скобками ('max', 5, 0.97). Ключевое различие между ними заключается в том, что в то время как
list является изменяемым, tuples, напротив, является неизменяемым объектом. Это означает, что данные в list могут быть изменены, добавлены или нарезаны на ходу, а в tuples остаются неизменными и не могут быть изменены никаким образом.Разница между == и is
Многие разработчики не понимают разницу этих двух операторов сравнения. Из-за неправильного использования
Оператор
Но Python для большей производительности кеширует малые числа и короткие строки, поэтому возможны некоторые казусы, как в примере выше.
Многие разработчики не понимают разницу этих двух операторов сравнения. Из-за неправильного использования
== и is в приложениях могут возникнуть странные ошибки.Оператор
== проверяет равенство значений двух объектов, а оператор is проверяет идентичность самих объектов. Его используют, чтобы удостовериться, что переменные указывают на один и тот же объект в памяти.Но Python для большей производительности кеширует малые числа и короткие строки, поэтому возможны некоторые казусы, как в примере выше.
Прогресс выполнения программы
Индикаторы прогресса добавляют наглядности в скриптах, которые исполняют какие-то функции, требующие времени для выполнения. Модуль
Привычный
Индикаторы прогресса добавляют наглядности в скриптах, которые исполняют какие-то функции, требующие времени для выполнения. Модуль
tqdm является простым и лаконичным вариантом.Привычный
range можно заменить на trange для визуализации прогресса. А для итерации по какой-либо последовательности достаточно просто передать её в функцию tqdm. Также модуль хорошо себя зарекомендовал и в Jupyter Notebook.Инкремент с помощью __pos__
В Python нет операции инкремента
При применении унарного плюса у объекта вызывается магический метод
Код на картинке может показаться сначала немного сложным, но лучше проследить логику и понять работу метода
В Python нет операции инкремента
++ как в си-подобных языках, поэтому используется x += 1. Однако запись ++x является валидным кодом (но не x++), так как это просто два унарных оператора сложения.При применении унарного плюса у объекта вызывается магический метод
__pos__, то есть запись ++x можно понять как x.__pos__().__pos__(). Зная это, можно реализовать класс, который будет представлять число и поддерживать поведение инкремента.Код на картинке может показаться сначала немного сложным, но лучше проследить логику и понять работу метода
__pos__. Если реализовать все остальные необходимые магические методы, то может получится полноценный класс числа, но в продакшене такие приколы лучше не писать.Открываем веб-сайт в своем веб-браузере с помощью Python
Модуль webbrowser предоставляет высокоуровневый интерфейс, позволяющий отображать пользователям веб-документы.
Документация доступна по ссылке.
Модуль webbrowser предоставляет высокоуровневый интерфейс, позволяющий отображать пользователям веб-документы.
Документация доступна по ссылке.
#вопросы_с_собеседований
Напишите функцию, которая будет принимать два списка чисел (вложенный и обычный) и проверять, все ли числа в подсписках вложенного принадлежат множеству чисел второго, обычного списка
Примечания:
1) пустой список считаем валидным подмножеством множества чисел второго списка
2) в каждом отдельном списке (как во вложенных, так и во втором, обычном списке) числа будут уникальными.
Напишите функцию, которая будет принимать два списка чисел (вложенный и обычный) и проверять, все ли числа в подсписках вложенного принадлежат множеству чисел второго, обычного списка
Примечания:
1) пустой список считаем валидным подмножеством множества чисел второго списка
2) в каждом отдельном списке (как во вложенных, так и во втором, обычном списке) числа будут уникальными.
Получаем текст с картинки
У Google есть система Tesseract, которая позволяет парсить текст с картинок с помощью оптического распознавания символов. В качестве обертки над их системой был создан пакет
Чтобы получить текст с картинки, надо вызвать метод
Для открытия картинок рекомендуется использовать
У Google есть система Tesseract, которая позволяет парсить текст с картинок с помощью оптического распознавания символов. В качестве обертки над их системой был создан пакет
pytesseract, который удобно и легко использовать. Чтобы получить текст с картинки, надо вызвать метод
image_to_string. Если вас интересует текст на русском, то следует указать аргумент lang как 'rus'. Для открытия картинок рекомендуется использовать
pillow, хоть и имеется возможность просто указать путь к файлу в виде строки.#вопросы_с_собеседований
Что такое pickling и unpickling?
Модуль pickle принимает любой объект Python, преобразует его в строковое представление и сохраняет в файл с помощью функции dump, такой процесс называется pickling.
Процесс извлечения исходных объектов Python из сохраненного строкового представления называется unpickling.
Что такое pickling и unpickling?
Модуль pickle принимает любой объект Python, преобразует его в строковое представление и сохраняет в файл с помощью функции dump, такой процесс называется pickling.
Процесс извлечения исходных объектов Python из сохраненного строкового представления называется unpickling.
#вопросы_с_собеседований
Что означает self в классе?
Self ссылается на экземпляр класса. Так метод может обновлять объект, к которому принадлежит.
На картинке передача self в init() дает возможность установить цвет экземпляра при инициализации.
Что означает self в классе?
Self ссылается на экземпляр класса. Так метод может обновлять объект, к которому принадлежит.
На картинке передача self в init() дает возможность установить цвет экземпляра при инициализации.
Примеры форматирования строк
Метод s.format() представляет собой основной метод API. Он принимает строку формата format_string и произвольный набор позиционных *args и ключевых **kwargs аргументов. Это просто оболочка, которая вызывает s.vformat().
Подробнее про форматирование строк можно почитать здесь.
Метод s.format() представляет собой основной метод API. Он принимает строку формата format_string и произвольный набор позиционных *args и ключевых **kwargs аргументов. Это просто оболочка, которая вызывает s.vformat().
Подробнее про форматирование строк можно почитать здесь.
Копируем файл в другой каталог
Метод Shutil.copy() в Python используется для копирования содержимого исходного файла в целевой файл или каталог. Он также сохраняет режим разрешений файла, но другие метаданные файла, такие как время создания и изменения файла, не сохраняются.
Подробнее с модулем Shutil можно ознакомиться здесь.
Метод Shutil.copy() в Python используется для копирования содержимого исходного файла в целевой файл или каталог. Он также сохраняет режим разрешений файла, но другие метаданные файла, такие как время создания и изменения файла, не сохраняются.
Подробнее с модулем Shutil можно ознакомиться здесь.
Ключевое слово global
Изначально мы не можем изменять значение переменной в другой области видимости, но мы можем это сделать, поменяв область видимости переменной на глобальную с помощью ключевого слова
Мы даже можем определить новую глобальную переменную внутри функции, но не нужно этим злоупотреблять, т.к. это будет засорять глобальную область видимости и приводить к нежелательным ошибкам.
Изначально мы не можем изменять значение переменной в другой области видимости, но мы можем это сделать, поменяв область видимости переменной на глобальную с помощью ключевого слова
global.Мы даже можем определить новую глобальную переменную внутри функции, но не нужно этим злоупотреблять, т.к. это будет засорять глобальную область видимости и приводить к нежелательным ошибкам.
Ключевое слово nonlocal
Похожее по функционалу на global, ключевое слово
Поведение
Основное различие с
Похожее по функционалу на global, ключевое слово
nonlocal позволяет обращаться к переменным из нелокальной области видимости.Поведение
nonlocal заключается в том, что интерпретатор ищет переменную в ближайшей области видимости.Основное различие с
global в том, что с помощью nonlocal нельзя получить переменные из глобальной области видимости.Находим соответствия в строках
В стандартной библиотеке Python существует модуль
Данный метод ищет "наилучшие" возможные совпадения. Первый аргумент задаёт искомую строку, второй аргумент – список, в котором выполняется поиск.
Также в метод можно передать необязательный аргумент
В стандартной библиотеке Python существует модуль
difflib, в котором есть интересный метод get_close_matches. Он позволяет найти в списке строки, похожие на некую исходную.Данный метод ищет "наилучшие" возможные совпадения. Первый аргумент задаёт искомую строку, второй аргумент – список, в котором выполняется поиск.
Также в метод можно передать необязательный аргумент
n, который задаёт максимальное число возвращаемых совпадений.