Кто быстрее создаёт списки в Python, list() или []
В процессе написания очередной программы задумался над тем, какой способ создания списков в Python работает быстрее. Большинство моих знакомых используют квадратные скобки. А некоторые совсем забыли о существовании функции list(). Предлагаю Вашему вниманию небольшое исследование.
Смотреть статью
В процессе написания очередной программы задумался над тем, какой способ создания списков в Python работает быстрее. Большинство моих знакомых используют квадратные скобки. А некоторые совсем забыли о существовании функции list(). Предлагаю Вашему вниманию небольшое исследование.
Смотреть статью
Хабр
Кто быстрее создаёт списки в Python, list() или []
В процессе написания очередной программы задумался над тем, какой способ создания списков в Python работает быстрее. Большинство моих знакомых используют квадратные скобки. А некоторые совсем забыли о...
👍11😢1
#Вопросы_с_собеседования
❓Что будет в результате выполнения данного кода?
Ответ:
Данный код выдаст в виде результата пустой список [], а ошибка IndexError не возникнет.
Как известно, попытка доступа к элементу списка с использованием индекса, превышающего число элементов (например, операция list[10] в списке выше), приводит к ошибке IndexError. Однако, попытка получить доступ к срезу списка с начальным индексом, превышающем количество элементов в списке, не приведет к IndexError и просто вернет пустой список.
Особенно неприятным это обстоятельство делает то, что оно может привести к ошибкам, которые действительно трудно отследить, поскольку во время выполнения кода не возникает никаких ошибок.
❓Что будет в результате выполнения данного кода?
Ответ:
Как известно, попытка доступа к элементу списка с использованием индекса, превышающего число элементов (например, операция list[10] в списке выше), приводит к ошибке IndexError. Однако, попытка получить доступ к срезу списка с начальным индексом, превышающем количество элементов в списке, не приведет к IndexError и просто вернет пустой список.
Особенно неприятным это обстоятельство делает то, что оно может привести к ошибкам, которые действительно трудно отследить, поскольку во время выполнения кода не возникает никаких ошибок.
👍46🎉9😱7❤1🔥1
Получаем формы сайта
С помощью пакета mechanize легко получить формы сайта для последующего входа в аккаунт или других действий.
Создаём объект браузера и с помощью функции forms возвращаем все формы.
Документация пакета находится здесь.
С помощью пакета mechanize легко получить формы сайта для последующего входа в аккаунт или других действий.
Создаём объект браузера и с помощью функции forms возвращаем все формы.
Документация пакета находится здесь.
👍23
🤔23👍7🎉6🍾4🏆3
#Вопросы_с_собеседования
❓Определите класс с именем car и с 2 свойствами, «color» и «speed». Затем создайте экземпляр и верните свойство speed
Ответ на картинке.
❓Определите класс с именем car и с 2 свойствами, «color» и «speed». Затем создайте экземпляр и верните свойство speed
Ответ на картинке.
👍31❤4🎉3😱2
3D моделирование в Python
Допустим, вам потребовалось на языке программирования python, построить трёхмерную модель некоторого объекта, затем визуализировать его, или подготовить файл для печати на 3D принтере. Существует несколько библиотек, помогающих в решении этих задач. Поговорим о том, как строить трёхмерные модели из точек, граней и примитивов в python. Как выполнять элементарные приемы 3D моделирования: перемещение, поворот, объединение, вычитание и другие.
Смотреть статью
Допустим, вам потребовалось на языке программирования python, построить трёхмерную модель некоторого объекта, затем визуализировать его, или подготовить файл для печати на 3D принтере. Существует несколько библиотек, помогающих в решении этих задач. Поговорим о том, как строить трёхмерные модели из точек, граней и примитивов в python. Как выполнять элементарные приемы 3D моделирования: перемещение, поворот, объединение, вычитание и другие.
Смотреть статью
👍24
Поиск соответствий в строках
В стандартной библиотеке есть модуль
Первый аргумент — искомая строка, второй — список, где выполняется поиск. Ещё можно передать необязательный аргумент
В стандартной библиотеке есть модуль
difflib
с методом get_close_matches
, позволяющий в одно применение найти похожие строки.Первый аргумент — искомая строка, второй — список, где выполняется поиск. Ещё можно передать необязательный аргумент
n
, задающий максимальное число возвращаемых совпадений.👍19❤8🔥2🎉1
Хэширование
Напомним, что Хэширование — это преобразование некоторого объема информации в уникальный набор символов, присущий только этому массиву информации. Широко используется в криптографии.
Для создания хэш-значений есть удобный модуль
Напомним, что Хэширование — это преобразование некоторого объема информации в уникальный набор символов, присущий только этому массиву информации. Широко используется в криптографии.
Для создания хэш-значений есть удобный модуль
hashlib
, содержащий ряд полезных хэш-функций. Использование довольно простое: в модуле имеется ряд конструкторов, соответствующих названиям хэш-функций. В конструктор мы можем передать байт-строку, хэш которой мы хотим получить, на выходе мы получим объект хэша.👍18🎉4🔥2
Выполнение функций по заданному расписанию
Часто нужно писать код, который должен выполниться в определенный промежуток времени, по расписанию. Для решения такой задачи есть несколько решений, одно из них — библиотека aiocron.
Она позволяет описать в декораторе конфигурацию расписания, согласно которому метод будет запускаться. В примере выше функция
Часто нужно писать код, который должен выполниться в определенный промежуток времени, по расписанию. Для решения такой задачи есть несколько решений, одно из них — библиотека aiocron.
Она позволяет описать в декораторе конфигурацию расписания, согласно которому метод будет запускаться. В примере выше функция
hi
будет выполняться каждые 30 минут. С помощью этого конфигуратора можно составить свою строку-расписание: https://crontab.guru/👍18🎉4
🤔26👍8🎉4🏆2🍾2
Создание/изменение документов MS Word на Python
Модуль python-docx предназначен для создания и обновления файлов с расширением .docx - Microsoft Word. Этот модуль имеет одну зависимость: сторонний модуль lxml.
Установка пакета - pip install python-docx.
В нашем примере мы создаем/открываем документ.
Подробно про этот модуль можно почитать здесь.
Модуль python-docx предназначен для создания и обновления файлов с расширением .docx - Microsoft Word. Этот модуль имеет одну зависимость: сторонний модуль lxml.
Установка пакета - pip install python-docx.
В нашем примере мы создаем/открываем документ.
Подробно про этот модуль можно почитать здесь.
👍12🎉2❤1🏆1
Нижнее подчеркивание
Есть несколько сценариев, когда имеет смысл использовать
Ещё один сценарий для использования нижнего подчеркивания — при использовании модуля gettext вместо функции gettext() для сокращения кода (так советуют разработчики модуля).
Есть несколько сценариев, когда имеет смысл использовать
_
в качестве названия для переменной. Во-первых, для значений, которые не нужны, но как-то проинициализировать их надо — например, в цикле for, когда не нужно использовать индекс.Ещё один сценарий для использования нижнего подчеркивания — при использовании модуля gettext вместо функции gettext() для сокращения кода (так советуют разработчики модуля).
❤13👍3🎉2