Получить текущую дату в Python
Класс date можно использовать для получения или изменения объектов даты. Например, для получения текущей с учетом настроек прописываем date.today().
Класс date можно использовать для получения или изменения объектов даты. Например, для получения текущей с учетом настроек прописываем date.today().
Расширьте свои знания в программировании на Python всего за 3 вечера, уделив по 1,5 часа в каждый из них.
На бесплатном онлайн-интенсиве Skillbox по программированию вы на практике попробуете себя в роли разработчика на Python и узнаете, как работают популярные алгоритмы этого языка. Проанализируете данные с помощью Data Science. Получите базовые навыки по разным направлениям и советы по развитию карьеры. Мощный компьютер не нужен.
Подробная программа: https://epic.st/6IkEpP
🎁 Всех участников ждут подарки.
Выберите свой путь в мире IT с 6 по 8 апреля в 19:00 по московскому времени.
На бесплатном онлайн-интенсиве Skillbox по программированию вы на практике попробуете себя в роли разработчика на Python и узнаете, как работают популярные алгоритмы этого языка. Проанализируете данные с помощью Data Science. Получите базовые навыки по разным направлениям и советы по развитию карьеры. Мощный компьютер не нужен.
Подробная программа: https://epic.st/6IkEpP
🎁 Всех участников ждут подарки.
Выберите свой путь в мире IT с 6 по 8 апреля в 19:00 по московскому времени.
Timedelta
timedelta представляет длительность (даты или времени). Модуль datetime включает атрибут timedelta(), который используется для управления датой в Python.
Все аргументы опциональные и их значения по умолчанию равно 0. Они могут быть целыми или числами с плавающей точкой, как положительными, так и отрицательными. Благодаря этому можно выполнять математические операции, такие как сложение, вычитание и умножение.
timedelta представляет длительность (даты или времени). Модуль datetime включает атрибут timedelta(), который используется для управления датой в Python.
Все аргументы опциональные и их значения по умолчанию равно 0. Они могут быть целыми или числами с плавающей точкой, как положительными, так и отрицательными. Благодаря этому можно выполнять математические операции, такие как сложение, вычитание и умножение.
Как работать с часовыми поясами
Эта программа возвращает объект с абсолютным значением datetime. Если же нужно сделать его абсолютным, то нужно явно указать часовой пояс. Как это сделать? В библиотеке datetime в Python нет модуля для работы с часовыми поясами. Для этого нужно использовать другие библиотеки. Одна из таких — pytz.
Эта программа возвращает объект с абсолютным значением datetime. Если же нужно сделать его абсолютным, то нужно явно указать часовой пояс. Как это сделать? В библиотеке datetime в Python нет модуля для работы с часовыми поясами. Для этого нужно использовать другие библиотеки. Одна из таких — pytz.
Академия Яндекса продолжает набор джунов и мидлов с опытом в разработке в Летние школы. В этом году они пройдут и в Казахстане. В Школе мобильной разработки есть отдельный трек по Python.
Обучение в школе длится три месяца. Первый этап (онлайн) — лекции и практическая работа над проектом. Второй этап (4 недели) — работа в командах над настоящим проектом от Яндекса (проходит в офисах компании в Алматы, Белграде или Москве).
Обучение бесплатное. Расходы на транспорт и проживание Яндекс берет на себя. Чтобы попасть в Школу, нужно отправить заявку и пройти конкурсный отбор на основе тестового задания. Обучение по Python будет проходить с 6 июня по 27 августа, а тестовое нужно отправить до 27 апреля.
Обучение в школе длится три месяца. Первый этап (онлайн) — лекции и практическая работа над проектом. Второй этап (4 недели) — работа в командах над настоящим проектом от Яндекса (проходит в офисах компании в Алматы, Белграде или Москве).
Обучение бесплатное. Расходы на транспорт и проживание Яндекс берет на себя. Чтобы попасть в Школу, нужно отправить заявку и пройти конкурсный отбор на основе тестового задания. Обучение по Python будет проходить с 6 июня по 27 августа, а тестовое нужно отправить до 27 апреля.
Используйте генераторы (generators) для создания ленивых (lazy) последовательностей
Генераторы - это способ создания последовательности значений, которые не будут созданы, пока вы не запросите их. Они особенно полезны, когда вам нужно обработать большой объем данных и вы не хотите загружать их все в память одновременно.
Генераторы - это способ создания последовательности значений, которые не будут созданы, пока вы не запросите их. Они особенно полезны, когда вам нужно обработать большой объем данных и вы не хотите загружать их все в память одновременно.
Используйте декораторы (decorators) для изменения поведения функций
Декораторы - это функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию, которая изменяет поведение оригинальной функции. Они могут использоваться для добавления дополнительной функциональности к существующим функциям без необходимости изменения их кода.
Декораторы - это функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию, которая изменяет поведение оригинальной функции. Они могут использоваться для добавления дополнительной функциональности к существующим функциям без необходимости изменения их кода.
Используйте контекстные менеджеры (context managers) для управления ресурсами
Контекстные менеджеры - это способ управления ресурсами (например, файлами или сетевыми соединениями) в Python. Они гарантируют, что ресурсы будут освобождены после завершения операции, и могут использоваться для обеспечения безопасной работы с ресурсами в многопоточных приложениях.
Контекстные менеджеры - это способ управления ресурсами (например, файлами или сетевыми соединениями) в Python. Они гарантируют, что ресурсы будут освобождены после завершения операции, и могут использоваться для обеспечения безопасной работы с ресурсами в многопоточных приложениях.
Используйте декораторы для модификации функциональности функций
В этом примере мы определяем декоратор my_decorator, который добавляет дополнительный код до и после выполнения функции. Затем мы применяем этот декоратор к функции my_function с помощью синтаксиса декораторов (@my_decorator). При вызове my_function будет вызван декоратор my_decorator, который изменит ее поведение.
В этом примере мы определяем декоратор my_decorator, который добавляет дополнительный код до и после выполнения функции. Затем мы применяем этот декоратор к функции my_function с помощью синтаксиса декораторов (@my_decorator). При вызове my_function будет вызван декоратор my_decorator, который изменит ее поведение.
Используйте генераторы (generators) для создания итераторов
В этом примере мы определяем генератор my_range, который создает итератор, возвращающий числа от start до stop с заданным шагом step. Вместо того чтобы создавать список чисел и возвращать его целиком, генератор возвращает числа по одному при каждом вызове функции next(). Это может быть полезно при работе с большими наборами данных, когда список чисел может занимать много памяти.
В этом примере мы определяем генератор my_range, который создает итератор, возвращающий числа от start до stop с заданным шагом step. Вместо того чтобы создавать список чисел и возвращать его целиком, генератор возвращает числа по одному при каждом вызове функции next(). Это может быть полезно при работе с большими наборами данных, когда список чисел может занимать много памяти.
Многие недооценивают данный тип, а зря. К примеру, если вам нужно найти количество одинаковых слов, то множества с легкостью вам помогут.
Похожи на списки, но на неупорядоченные. Они больше весят, но намного быстрее. В небольших проектах оправдано такое использование: множество id админов/пользователей (в зависимости от размера ОЗУ), когда требуется только проверить есть ли id в списке. Через стандартный список это займет O(n) или если он отсортирован O(log n) , в то время как у множеств это всегда O(1).
Зная преимущества вы всегда можете выбрать наиболее предпочтительный вариант в той или иной ситуации.
Похожи на списки, но на неупорядоченные. Они больше весят, но намного быстрее. В небольших проектах оправдано такое использование: множество id админов/пользователей (в зависимости от размера ОЗУ), когда требуется только проверить есть ли id в списке. Через стандартный список это займет O(n) или если он отсортирован O(log n) , в то время как у множеств это всегда O(1).
Зная преимущества вы всегда можете выбрать наиболее предпочтительный вариант в той или иной ситуации.
Используйте генераторы (generators), когда не нужно хранить все значения в памяти
Генератор - это функция, которая возвращает итерируемый объект (например, список) вместо того, чтобы возвращать все значения сразу. Это позволяет эффективно использовать память и обрабатывать большие объемы данных. В Python генераторы создаются с помощью ключевого слова yield.
В этом примере мы создаем генератор square_numbers, который возвращает квадраты чисел из переданного списка. Мы используем цикл for для перебора значений, возвращаемых генератором, и выводим их на экран. Заметьте, что генератор не создает список квадратов заранее, а генерирует значения на лету.
Генератор - это функция, которая возвращает итерируемый объект (например, список) вместо того, чтобы возвращать все значения сразу. Это позволяет эффективно использовать память и обрабатывать большие объемы данных. В Python генераторы создаются с помощью ключевого слова yield.
В этом примере мы создаем генератор square_numbers, который возвращает квадраты чисел из переданного списка. Мы используем цикл for для перебора значений, возвращаемых генератором, и выводим их на экран. Заметьте, что генератор не создает список квадратов заранее, а генерирует значения на лету.
Используйте генераторы (generators) для создания итерируемых объектов с помощью функций
В этом примере мы определяем генератор fibonacci, который возвращает бесконечную последовательность чисел Фибоначчи. Ключевое слово yield используется для возврата значения из функции, при этом сохраняя состояние функции для следующего вызова. Затем мы используем цикл for и функцию enumerate, чтобы перебрать первые 10 чисел Фибоначчи из генератора.
В этом примере мы определяем генератор fibonacci, который возвращает бесконечную последовательность чисел Фибоначчи. Ключевое слово yield используется для возврата значения из функции, при этом сохраняя состояние функции для следующего вызова. Затем мы используем цикл for и функцию enumerate, чтобы перебрать первые 10 чисел Фибоначчи из генератора.