Функции map(), filter() и reduce() используют, чтобы привнести в Python немного функционального программирования.
Все три из них являются удобными функциями, которые можно заменить на списки или циклы. Но они
обеспечивают более элегантный и краткий подход к некоторым задачам.
1.
2.
3.
Вместо этого он возвращает одно значение. На картинке мы приводим пример сложения чисел. Но это самое простейшее. Можно перемножать, возводить в квадрат и многое другое (и не обязательно с числами).
#python
Подписывайтесь на канал 👉@cod_academy
Все три из них являются удобными функциями, которые можно заменить на списки или циклы. Но они
обеспечивают более элегантный и краткий подход к некоторым задачам.
1.
map() - функция map перебираeт все элементы в данном итеративном объекте и выполняeт функцию, которую мы передали в качестве аргумента для каждого из них.2.
filter() - Подобно map(), filter() принимает объект функции и итерацию и создает новый список. Как следует из названия, filter() формирует новый список, содержащий только элементы, удовлетворяющие определенному условию.3.
reduce() - reduce работает иначе, чем map() и filter(). Он не возвращает новый список, основанный на функции и итерации, которые мы передали.Вместо этого он возвращает одно значение. На картинке мы приводим пример сложения чисел. Но это самое простейшее. Можно перемножать, возводить в квадрат и многое другое (и не обязательно с числами).
#python
Подписывайтесь на канал 👉@cod_academy
👍1
📲 Как сделать так, чтобы пользователи всегда возвращались туда, где они остановились в приложении?
⏺️ Присоединяйся к открытому вебинару «Flutter Deep Linking & State Restoration» 22 июля в 20:00 МСК. На вебинаре разберем:
— Типы диплинков во Flutter и как они работают с мобильными и веб-приложениями.
— Как выбрать правильную навигацию: Navigator 1.0 или Router API для сложных сценариев.
— State Restoration во Flutter: как сохранять и восстанавливать состояние после перезапуска.
— Использование Restorable Routes для автоматического возвращения на нужный экран.
❗️Этот вебинар — отличная тренировка перед стартом курса «Flutter Mobile Developer» от OTUS.
👉 Записаться на вебинар → https://vk.cc/cNLkF9
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
⏺️ Присоединяйся к открытому вебинару «Flutter Deep Linking & State Restoration» 22 июля в 20:00 МСК. На вебинаре разберем:
— Типы диплинков во Flutter и как они работают с мобильными и веб-приложениями.
— Как выбрать правильную навигацию: Navigator 1.0 или Router API для сложных сценариев.
— State Restoration во Flutter: как сохранять и восстанавливать состояние после перезапуска.
— Использование Restorable Routes для автоматического возвращения на нужный экран.
❗️Этот вебинар — отличная тренировка перед стартом курса «Flutter Mobile Developer» от OTUS.
👉 Записаться на вебинар → https://vk.cc/cNLkF9
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Указатели с ключевыми словами const и volatile
Ключевые слова const и volatile изменяют то, как обрабатываются указатели. const указывает, что данные по указателю не могут быть изменены после инициализации; volatile указывает, что значение может быть изменено действиями, отличными от тех, которые указаны в пользовательском приложении.
volatile полезно для объявления объектов в общей памяти, к которым могут обращаться несколько процессов или для глобальных областей данных.
#cpp
Подписывайтесь на канал 👉@cod_academy
Ключевые слова const и volatile изменяют то, как обрабатываются указатели. const указывает, что данные по указателю не могут быть изменены после инициализации; volatile указывает, что значение может быть изменено действиями, отличными от тех, которые указаны в пользовательском приложении.
volatile полезно для объявления объектов в общей памяти, к которым могут обращаться несколько процессов или для глобальных областей данных.
#cpp
Подписывайтесь на канал 👉@cod_academy
👍2
JIT-оптимизация
Java-код обрабатывается с помощью JIT-компиляции: сначала транслируется в платформонезависимый байт-код, а уже после этого в машинный код. При этом оптимизируется все, что возможно, и разработчик может помочь компилятору создать максимально эффективную программу.
В качестве примера взглянем на две простые операции:
// 1
n += 2 * i * i;
// 2
n += 2 * (i * i);
Измерим время выполнения каждой из них. Запустив код с картинки несколько раз, получим подобные цифры, отображающие время выполнения:
2 * (i * i) | 2 * i * i
0.5183738 | 0.6246434
0.5298337 | 0.6049722
0.5308647 | 0.6603363
0.5133458 | 0.6243328
0.5003011 | 0.6541802
Закономерность очевидна: группировка переменных с помощью скобок ускоряет работу программы. Это происходит из-за генерации более эффективного байт-кода при умножении одинаковых значений.
#java
Подписывайтесь на канал 👉@cod_academy
Java-код обрабатывается с помощью JIT-компиляции: сначала транслируется в платформонезависимый байт-код, а уже после этого в машинный код. При этом оптимизируется все, что возможно, и разработчик может помочь компилятору создать максимально эффективную программу.
В качестве примера взглянем на две простые операции:
// 1
n += 2 * i * i;
// 2
n += 2 * (i * i);
Измерим время выполнения каждой из них. Запустив код с картинки несколько раз, получим подобные цифры, отображающие время выполнения:
2 * (i * i) | 2 * i * i
0.5183738 | 0.6246434
0.5298337 | 0.6049722
0.5308647 | 0.6603363
0.5133458 | 0.6243328
0.5003011 | 0.6541802
Закономерность очевидна: группировка переменных с помощью скобок ускоряет работу программы. Это происходит из-за генерации более эффективного байт-кода при умножении одинаковых значений.
#java
Подписывайтесь на канал 👉@cod_academy
👍2
Как правильно создавать классы в python?
Вы можете придерживаться синтаксиса
(Конструктор класса не всегда обязателен)
Создание класса вы можете увидеть на примере :
#python
Подписывайтесь на канал 👉@cod_academy
Вы можете придерживаться синтаксиса
class <Название_Класса>:
def __init__(<Аргументы_Класса>):
pass (Конструктор класса не всегда обязателен)
Создание класса вы можете увидеть на примере :
class Axe: # Создаем класс с названием "Axe"
def __init__(self, x : int, y : int): # Создаем конструктор класса, который принимает "x" и "y"
self.x = x
self.y = y
def increment(self): # Создаем метод класса
print(self.x + self.y)#python
Подписывайтесь на канал 👉@cod_academy
👍1
🤖 Тест по Flutter проверь свои знания, готов ли ты к обучению на курсе.
Ответишь — пройдешь на курс "Flutter Mobile Developer" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса
За 6 месяцев вы освоите Dart, Flutter и ключевые инструменты разработки, создадите несколько приложений, получите поддержку преподавателей и выполните проект для портфолио.
➡️ ПРОЙТИ ТЕСТ И ОЗНАКОМИТСЯ С ПРОГРАММОЙ: https://vk.cc/cOaU8b
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Ответишь — пройдешь на курс "Flutter Mobile Developer" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса
За 6 месяцев вы освоите Dart, Flutter и ключевые инструменты разработки, создадите несколько приложений, получите поддержку преподавателей и выполните проект для портфолио.
➡️ ПРОЙТИ ТЕСТ И ОЗНАКОМИТСЯ С ПРОГРАММОЙ: https://vk.cc/cOaU8b
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤1
Алгоритм includes
Используется для распознавания, существуют ли все числа тз одного контейнера в других контейнерах. Это помогает проверить, является ли набор подмножеством другого набора или нет, учитывая, что набор упорядочен. Ожидается, что элементы будут отсортированы по порядку.
#cpp
Подписывайтесь на канал 👉@cod_academy
Используется для распознавания, существуют ли все числа тз одного контейнера в других контейнерах. Это помогает проверить, является ли набор подмножеством другого набора или нет, учитывая, что набор упорядочен. Ожидается, что элементы будут отсортированы по порядку.
#cpp
Подписывайтесь на канал 👉@cod_academy
👍2
Чем различаются Enumeration и Iterator?
Хотя оба интерфейса и предназначены для обхода коллекций между ними имеются существенные различия:
• с помощью Enumeration нельзя добавлять/удалять элементы;
• в Iterator исправлены имена методов для повышения читаемости кода (Enumeration.hasMoreElements() соответствует Iterator.hasNеxt(), Enumeration.nextElement() соответствует Iterator.nеxt() и т.д);
• Enumeration присутствуют в устаревших классах, таких как Vector/Stack, тогда как Iterator есть во всех современных классах-коллекциях.
#java
Подписывайтесь на канал 👉@cod_academy
Хотя оба интерфейса и предназначены для обхода коллекций между ними имеются существенные различия:
• с помощью Enumeration нельзя добавлять/удалять элементы;
• в Iterator исправлены имена методов для повышения читаемости кода (Enumeration.hasMoreElements() соответствует Iterator.hasNеxt(), Enumeration.nextElement() соответствует Iterator.nеxt() и т.д);
• Enumeration присутствуют в устаревших классах, таких как Vector/Stack, тогда как Iterator есть во всех современных классах-коллекциях.
#java
Подписывайтесь на канал 👉@cod_academy
Как скачать видео с youtube с помощью python?
Вы можете использовать библиотеку pytube для скачки видео с youtube
#python
Подписывайтесь на канал 👉@cod_academy
Вы можете использовать библиотеку pytube для скачки видео с youtube
import pytube
link = "../" # Ссылка на видео
path = "../" # Путь, куда будет сохранятся видео
YT_parser = pytube.YouTube(link)
video_with_highest_resolution = YT_parser.streams.get_highest_resolution()
video_with_highest_resolution.download(path)#python
Подписывайтесь на канал 👉@cod_academy
👍2
Вычисление степени
Возвести число в степень можно двумя способами:
☕️ простым умножением;
☕️ с помощью функции Math.pow(double base, double exponent)
Использовать библиотечную функцию рекомендуется только при крайней необходимости, например, в случае дробной или отрицательной степени.
Простое умножение на Java работает в 300-600 раз эффективнее, к тому же его можно дополнительно оптимизировать.
#java
Подписывайтесь на канал 👉@cod_academy
Возвести число в степень можно двумя способами:
☕️ простым умножением;
☕️ с помощью функции Math.pow(double base, double exponent)
Использовать библиотечную функцию рекомендуется только при крайней необходимости, например, в случае дробной или отрицательной степени.
Простое умножение на Java работает в 300-600 раз эффективнее, к тому же его можно дополнительно оптимизировать.
#java
Подписывайтесь на канал 👉@cod_academy
👍1
Как удалить каждый второй элемент списка в python?
Вы можете использовать индексирование [::2] (2 означает шаг) для удаления каждого второго элемента.
#python
Подписывайтесь на канал 👉@cod_academy
Вы можете использовать индексирование [::2] (2 означает шаг) для удаления каждого второго элемента.
array = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(array[::2])
# Вывод : [1, 3, 5, 7, 9]#python
Подписывайтесь на канал 👉@cod_academy
👍2
Метод concat()
Возвращает строку со значением строки, переданной в метод и приложенной к концу строки, используемой для вызова этого метода.
Проще говоря метод concat() в Java объединяет строки, путем добавления одной строки в конец к другой.
#java
Подписывайтесь на канал 👉@cod_academy
Возвращает строку со значением строки, переданной в метод и приложенной к концу строки, используемой для вызова этого метода.
Проще говоря метод concat() в Java объединяет строки, путем добавления одной строки в конец к другой.
#java
Подписывайтесь на канал 👉@cod_academy
👍2😁1
Array vs ArrayList
Выбор между Array (стандартным Java-массивом) и ArrayList зависит от специфики задачи на Java, которую требуется решить. Помните о следующих особенностях этих типов:
☕️ Array имеет фиксированный размер и память для него выделяется в момент объявления, а размер ArrayList может динамически изменяться;
☕️ Массивы Java работают гораздо быстрее, а в ArrayList намного проще добавлять/удалять элементы;
☕️ При работе с Array велика вероятность получить ошибку ArrayIndexOutOfBoundsException;
☕️ У ArrayList только одно измерение, а вот массивы Java могут быть многомерными.
#java
Подписывайтесь на канал 👉@cod_academy
Выбор между Array (стандартным Java-массивом) и ArrayList зависит от специфики задачи на Java, которую требуется решить. Помните о следующих особенностях этих типов:
☕️ Array имеет фиксированный размер и память для него выделяется в момент объявления, а размер ArrayList может динамически изменяться;
☕️ Массивы Java работают гораздо быстрее, а в ArrayList намного проще добавлять/удалять элементы;
☕️ При работе с Array велика вероятность получить ошибку ArrayIndexOutOfBoundsException;
☕️ У ArrayList только одно измерение, а вот массивы Java могут быть многомерными.
#java
Подписывайтесь на канал 👉@cod_academy
👍1