⚡️ Замеряем время выполнения программы
Многие новички используют time или встроенные в ОС приложения, но это не верно. Лучше использовать timeit, поскольку он может более точно рассчитать, сколько занимает выполнение кода, независимо от ОС.
Он довольно прост в использовании. Всего пару строк, и вы можете доказать, что код админа медленнее вашего решения :)
Если вам лень запускать IDE, можете воспользоваться терминалом, вписав
А если вам стало интересно, то можете посетить страницу документации.
#миниурок #timeit
Многие новички используют time или встроенные в ОС приложения, но это не верно. Лучше использовать timeit, поскольку он может более точно рассчитать, сколько занимает выполнение кода, независимо от ОС.
Он довольно прост в использовании. Всего пару строк, и вы можете доказать, что код админа медленнее вашего решения :)
timeit.timeit(code, setup='', timer, number=1_000_000)
— запускает код number раз. Но перед этим выполняет строку setup, которая не входит в время, измеряемое таймером. Эта основная функция больше вам не понадобится.Если вам лень запускать IDE, можете воспользоваться терминалом, вписав
python3 -m timeit "print('Hello world')"
.А если вам стало интересно, то можете посетить страницу документации.
#миниурок #timeit
Что выведет код выше?
Anonymous Quiz
25%
True
12%
False
27%
Программа уйдёт в бесконечный цикл
17%
Ошибку
18%
узнать ответ
3 причины подписаться на аккаунт @selectel 🔥
1. Основы программирования простым языком и без снобизма.
2. Полезные факты о железе, дата-центрах и хостингах.
3. Актуальные новости из IT.
Жми «Подписаться», чтобы получать больше IT-материалов и каждый день узнавать что-то новое!
1. Основы программирования простым языком и без снобизма.
2. Полезные факты о железе, дата-центрах и хостингах.
3. Актуальные новости из IT.
Жми «Подписаться», чтобы получать больше IT-материалов и каждый день узнавать что-то новое!
⚡️ Продолжаем рассматривать модуль itertools
Думаю, стоит вам ещё рассказать про этот модуль и интересные функции. Начнём!
#миниурок #itertools
Думаю, стоит вам ещё рассказать про этот модуль и интересные функции. Начнём!
zip_longest(a, b, fill_value)
— очень удобный итератор. Работает также как и zip, но если длина списков разная, заполняет их fill_value.takewhile(func, seq)
— возвращает значения из seq, пока func не вернёт False.chain(a, b,...)
— соединяет два и более итерируемых объектов в один.product(a, b...)
— декартово произведение итерируемых объектов.#миниурок #itertools
⚡️ Задачка с собеседования | #Easy
Условие:
Ваша задача — написать функцию, которая находит особое число из списка. На вход идёт список из целочисленных значений, все они делятся или не делятся на 2, кроме одного. Вам необходимо найти это особое число. Длина такого списка всегда больше трёх.
Примеры:
find_outlier([2, 4, 0, 4, 11, 36]) -> 11
find_outlier([160, 3, 19, 11, -21]) -> 160
find_outlier([-1, 1, 3, 3, 2, -11, -21]) -> 2
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша задача — написать функцию, которая находит особое число из списка. На вход идёт список из целочисленных значений, все они делятся или не делятся на 2, кроме одного. Вам необходимо найти это особое число. Длина такого списка всегда больше трёх.
Примеры:
find_outlier([2, 4, 0, 4, 11, 36]) -> 11
find_outlier([160, 3, 19, 11, -21]) -> 160
find_outlier([-1, 1, 3, 3, 2, -11, -21]) -> 2
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Оператор with
Если вы работаете с файлами или соединениями, то их стоит закрывать после работы. Использовать try/except/finally — не красиво и занимает много места.
Поэтому, разработчики придумали оператор with, выполняющий обязательные функции по окончанию работы с классом. Можете почитать о нём в PEP 343.
Как и у любого оператора, у with есть свои методы.
#теория #with
Если вы работаете с файлами или соединениями, то их стоит закрывать после работы. Использовать try/except/finally — не красиво и занимает много места.
Поэтому, разработчики придумали оператор with, выполняющий обязательные функции по окончанию работы с классом. Можете почитать о нём в PEP 343.
Как и у любого оператора, у with есть свои методы.
__enter__
вызывается в переданном классе с самого начала, для инициализации. А после, по окончанию работы, вызывается __exit__
.#теория #with
Что выведет код выше?
Anonymous Quiz
44%
Lorem ipsum
2%
Lorem
2%
ipsum
13%
Loremipsum
30%
Ошибку
8%
Узнать ответ
⚡️ Работаем с временем
Ранее я рассказывал о модулях для взаимодействия с временем, но их необходимо устанавливать, а вот datetime — нет.
Хоть с ним и неудобно работать в отличие от его конкурентов, с ним у вас в проекте будет меньше зависимостей. Объектов много, поэтому тут будут самые используемые.
Получить их можно с помощью
А также, используя
#миниурок #datetime
Ранее я рассказывал о модулях для взаимодействия с временем, но их необходимо устанавливать, а вот datetime — нет.
Хоть с ним и неудобно работать в отличие от его конкурентов, с ним у вас в проекте будет меньше зависимостей. Объектов много, поэтому тут будут самые используемые.
date
, time
, datetime
— классы, предоставляющие доступ к дате, времени или к всему сразу.Получить их можно с помощью
date.today()
, datetime.today()
, datetime.now()
или создав их самостоятельно, передав нужные значения, которые можно почитать в документации.А также, используя
timedelta
, мы можем менять время: добавлять, забирать и многое другое.#миниурок #datetime
⚡️ Отображаем календарь
В языке Python есть интересный модуль, позволяющий выводить календарь так же, как и программа
TextCalendar и HTMLCalendar позволяют выводить календарь в текстовом и веб форматах. Вы можете их настроить, используя методы, записанные в документации.
#миниурок #calendar
В языке Python есть интересный модуль, позволяющий выводить календарь так же, как и программа
cal
в unix-подобных системах. TextCalendar и HTMLCalendar позволяют выводить календарь в текстовом и веб форматах. Вы можете их настроить, используя методы, записанные в документации.
calendar.weekday(year, month, day)
— возвращает день недели в определённый день. Возвращает число от 0 до 6, что, соответственно, понедельник - суббота. calendar.isleap(year)
— позволяет узнать, является ли год високосным.calendar.firstweekday()
— сообщает день недели, с которого начинается неделя.#миниурок #calendar