Метод replace()
Возвращает новую строку, в результате, заменив все вхождения oldChar, в данной строке, на newChar, другими словами — метод позволяет заменить символ в строке.
#java
Подписывайтесь на канал 👉@cod_academy
Возвращает новую строку, в результате, заменив все вхождения oldChar, в данной строке, на newChar, другими словами — метод позволяет заменить символ в строке.
#java
Подписывайтесь на канал 👉@cod_academy
Функция none_of()
Эта функция возвращает true, если ни один из элементов не удовлетворяет данному условию, иначе возвращает false.
Поскольку все элементы положительны, функция возвращает true.
#cpp
Подписывайтесь на канал 👉@cod_academy
Эта функция возвращает true, если ни один из элементов не удовлетворяет данному условию, иначе возвращает false.
Поскольку все элементы положительны, функция возвращает true.
#cpp
Подписывайтесь на канал 👉@cod_academy
Частичное применение
Сегодня поговорим об одном интересном концепте из области функционального программирования. Использовать будем функцию partial из стандартной библиотеки functools.
Предоставление функции меньшего количества аргументов, чем она ожидает, называется частичным применением функций.
Другими словами, это такая функция, которая принимает другую функцию с несколькими параметрами и возвращает функцию, но уже с меньшим количеством параметров.
#python
Подписывайтесь на канал 👉@cod_academy
Сегодня поговорим об одном интересном концепте из области функционального программирования. Использовать будем функцию partial из стандартной библиотеки functools.
Предоставление функции меньшего количества аргументов, чем она ожидает, называется частичным применением функций.
Другими словами, это такая функция, которая принимает другую функцию с несколькими параметрами и возвращает функцию, но уже с меньшим количеством параметров.
#python
Подписывайтесь на канал 👉@cod_academy
Метод copyValueOf()
Метод copyValueOf() в Java имеет две различные формы:
1) public static String copyValueOf(char[] data) — возвращает строку, которая представляет собой последовательность символов в заданном массиве.
2)public static String copyValueOf(char[] data, int offset, int count) — возвращает строку, которая представляет собой последовательность символов в заданном массиве.
Параметры:
data — массив символов;
offset — начало смещения подмассива;
count — длина подмассива.
#java
Подписывайтесь на канал 👉@cod_academy
Метод copyValueOf() в Java имеет две различные формы:
1) public static String copyValueOf(char[] data) — возвращает строку, которая представляет собой последовательность символов в заданном массиве.
2)public static String copyValueOf(char[] data, int offset, int count) — возвращает строку, которая представляет собой последовательность символов в заданном массиве.
Параметры:
data — массив символов;
offset — начало смещения подмассива;
count — длина подмассива.
#java
Подписывайтесь на канал 👉@cod_academy
Функция find_first_of
Ищет в строке первый символ, который соответствует любому из символов, указанных в его аргументах.
Когда задан pos , поиск включает только символы в позиции pos или после нее , игнорируя любые возможные вхождения перед pos .
#cpp
Подписывайтесь на канал 👉@cod_academy
Ищет в строке первый символ, который соответствует любому из символов, указанных в его аргументах.
Когда задан pos , поиск включает только символы в позиции pos или после нее , игнорируя любые возможные вхождения перед pos .
#cpp
Подписывайтесь на канал 👉@cod_academy
Именование среза с использованием функции slice
Работа с множеством значений, которые заданы индексами, может быстро обернуться беспорядком – как в плане поддержки, так и в плане читабельности кода.
Один из вариантов улучшения ситуации заключается в использовании констант для значений, задаваемых индексами. Но есть и более удачный способ написания качественного кода, как показано на картинке
#python
Подписывайтесь на канал 👉@cod_academy
Работа с множеством значений, которые заданы индексами, может быстро обернуться беспорядком – как в плане поддержки, так и в плане читабельности кода.
Один из вариантов улучшения ситуации заключается в использовании констант для значений, задаваемых индексами. Но есть и более удачный способ написания качественного кода, как показано на картинке
#python
Подписывайтесь на канал 👉@cod_academy
Количество дней между датами
Иногда может понадобиться узнать количество дней, часов, минут и т.п. между датами. Рассмотрим один из способов нахождения дней между двумя датами выше в примере.
#java
Подписывайтесь на канал 👉@cod_academy
Иногда может понадобиться узнать количество дней, часов, минут и т.п. между датами. Рассмотрим один из способов нахождения дней между двумя датами выше в примере.
#java
Подписывайтесь на канал 👉@cod_academy
Функции вместимости в строках
1. capacity() - функция возвращает ёмкость памяти, выделенную для строки, которая может быть равной или больше, чем размер самой строки. Дополнительное пространство выделяется таким образом, чтобы при добавлении новых символов в строку операции могли выполняться эффективно.
2. resize() - функция изменяет размер строки, его можно увеличивать или уменьшать.
3. length() - функция возвращает длину строки.
4. shrink_to_fit() - функция уменьшает ёмкость памяти строки, делает ее равной минимально возможной. Эта операция полезна для экономии дополнительной памяти, когда мы уверены, что больше не нужно добавлять символы.
#cpp
Подписывайтесь на канал 👉@cod_academy
1. capacity() - функция возвращает ёмкость памяти, выделенную для строки, которая может быть равной или больше, чем размер самой строки. Дополнительное пространство выделяется таким образом, чтобы при добавлении новых символов в строку операции могли выполняться эффективно.
2. resize() - функция изменяет размер строки, его можно увеличивать или уменьшать.
3. length() - функция возвращает длину строки.
4. shrink_to_fit() - функция уменьшает ёмкость памяти строки, делает ее равной минимально возможной. Эта операция полезна для экономии дополнительной памяти, когда мы уверены, что больше не нужно добавлять символы.
#cpp
Подписывайтесь на канал 👉@cod_academy
Switch-конструкция с помощью словаря
Привет, на связи Адриан. Начинающие программисты достаточно часто спрашивают меня про switch-конструкции, а в Python их вобщем-то нет.
Однако существует одно хитрое решение – использовать словарь, где значениями будут функции. В качестве примера напишем словарь, который будет использован для математических операторов.
В этом примере я использовал lambda-функции для упрощения кода, но вместо них можете подставить любые другие. Объясню немного подробнее, lambda – объявление анонимной функции, x и y - принимаемые аргументы, x + y – возвращаемый результат.
#python
Подписывайтесь на канал 👉@cod_academy
Привет, на связи Адриан. Начинающие программисты достаточно часто спрашивают меня про switch-конструкции, а в Python их вобщем-то нет.
Однако существует одно хитрое решение – использовать словарь, где значениями будут функции. В качестве примера напишем словарь, который будет использован для математических операторов.
В этом примере я использовал lambda-функции для упрощения кода, но вместо них можете подставить любые другие. Объясню немного подробнее, lambda – объявление анонимной функции, x и y - принимаемые аргументы, x + y – возвращаемый результат.
#python
Подписывайтесь на канал 👉@cod_academy
👍2
Метод valueOf()
Возвращает соответствующий числовой объект, содержащий значение переданного аргумента, простыми словами — преобразует в нужный тип данных. Аргумент можно преобразовать в int, double, float и другие типы данных, например, можно преобразовать строку в число.
#java
Подписывайтесь на канал 👉@cod_academy
Возвращает соответствующий числовой объект, содержащий значение переданного аргумента, простыми словами — преобразует в нужный тип данных. Аргумент можно преобразовать в int, double, float и другие типы данных, например, можно преобразовать строку в число.
#java
Подписывайтесь на канал 👉@cod_academy
👍1
Функция unique
unique используется для удаления дубликатов любого элемента, присутствующего последовательно в диапазоне [first, last). Он выполняет эту задачу для всех подгрупп, присутствующих в диапазоне, имеющих один и тот же элемент, присутствующий последовательно.
#cpp
Подписывайтесь на канал 👉@cod_academy
unique используется для удаления дубликатов любого элемента, присутствующего последовательно в диапазоне [first, last). Он выполняет эту задачу для всех подгрупп, присутствующих в диапазоне, имеющих один и тот же элемент, присутствующий последовательно.
#cpp
Подписывайтесь на канал 👉@cod_academy
Генерация уникальных идентификаторов
В этот пятничный вечер Адриан подготовил для вас небольшой, но крайне полезный приём, который часто применяется на практике.
Стандартный модуль uuid — быстрый и простой способ сгенерировать UUID (universally unique identifier), глобально уникальный идентификатор.
Так, мы можем создать случайное 128-битное число, которое наверняка будет уникальным. Существует более 2¹²² возможных UUID. Это более 5 ундециллионов, то есть 36 нулей.
Вероятность нахождения дубликатов в заданном наборе крайне мала. Даже при наличии триллиона UUID вероятность того, что среди них есть дубликат, гораздо меньше, чем один к миллиарду.
Вполне недурно для двух строк кода.
#python
Подписывайтесь на канал 👉@cod_academy
В этот пятничный вечер Адриан подготовил для вас небольшой, но крайне полезный приём, который часто применяется на практике.
Стандартный модуль uuid — быстрый и простой способ сгенерировать UUID (universally unique identifier), глобально уникальный идентификатор.
Так, мы можем создать случайное 128-битное число, которое наверняка будет уникальным. Существует более 2¹²² возможных UUID. Это более 5 ундециллионов, то есть 36 нулей.
Вероятность нахождения дубликатов в заданном наборе крайне мала. Даже при наличии триллиона UUID вероятность того, что среди них есть дубликат, гораздо меньше, чем один к миллиарду.
Вполне недурно для двух строк кода.
#python
Подписывайтесь на канал 👉@cod_academy
Метод split()
Возвращает массив строк, вычисленных путем разделения данной строки вокруг данного регулярного выражения.
Параметры:
regex — разграничение регулярного выражения;
limit — порог, результатом которого означает, как много строк, должно быть возвращено.
#java
Подписывайтесь на канал 👉@cod_academy
Возвращает массив строк, вычисленных путем разделения данной строки вокруг данного регулярного выражения.
Параметры:
regex — разграничение регулярного выражения;
limit — порог, результатом которого означает, как много строк, должно быть возвращено.
#java
Подписывайтесь на канал 👉@cod_academy
Итераторы в строках
1. begin() - возвращает итератор в начало строки.
2. end() - возвращает итератор в конец строки.
3. rbegin() - возвращает обратный итератор, указывающий на конец строки.
4. rend() - возвращает обратный итератор, указывающий на начало строки.
#cpp
Подписывайтесь на канал 👉@cod_academy
1. begin() - возвращает итератор в начало строки.
2. end() - возвращает итератор в конец строки.
3. rbegin() - возвращает обратный итератор, указывающий на конец строки.
4. rend() - возвращает обратный итератор, указывающий на начало строки.
#cpp
Подписывайтесь на канал 👉@cod_academy
Упаковка параметров с помощью urlencode
Новая неделя – новые знания. В это утро понедельника я подготовил для вас крайне практичный пост.
Довольно часто приходится работать с разнообразными API и совершать get-запросы с передачей множества параметров. Чаще всего составление запроса в коде выглядит примерно так:
url = 'https://example.com?item={}&size={}&color={}&amount={}'.format('t-shirt', 'M', 'white', 5)
Смотрится не слишком презентабельно, однако есть слегка более длинный, но значительно улучающий читаемость кода вариант – функция urlencode из из модуля urllib.
#python
Подписывайтесь на канал 👉@cod_academy
Новая неделя – новые знания. В это утро понедельника я подготовил для вас крайне практичный пост.
Довольно часто приходится работать с разнообразными API и совершать get-запросы с передачей множества параметров. Чаще всего составление запроса в коде выглядит примерно так:
url = 'https://example.com?item={}&size={}&color={}&amount={}'.format('t-shirt', 'M', 'white', 5)
Смотрится не слишком презентабельно, однако есть слегка более длинный, но значительно улучающий читаемость кода вариант – функция urlencode из из модуля urllib.
#python
Подписывайтесь на канал 👉@cod_academy
Метод insert()
Вставляет символы в данную строку буфера (StringBuffer). Подстрока добавляется перед указанным индексом.
#java
Подписывайтесь на канал 👉@cod_academy
Вставляет символы в данную строку буфера (StringBuffer). Подстрока добавляется перед указанным индексом.
#java
Подписывайтесь на канал 👉@cod_academy
Алгоритм shuffle
Переупорядочивает элементы в заданном диапазоне [first, last) таким образом, чтобы каждая возможная перестановка этих элементов имела равную вероятность появления.
#cpp
Подписывайтесь на канал 👉@cod_academy
Переупорядочивает элементы в заданном диапазоне [first, last) таким образом, чтобы каждая возможная перестановка этих элементов имела равную вероятность появления.
#cpp
Подписывайтесь на канал 👉@cod_academy
Кэширование функций
Кэширование может сэкономить время, когда связанная с вводом или выводом функция периодически вызывается с одинаковыми аргументами. Раньше приходилось создавать свою реализацию, но в Python 3.2+ появился декоратор lru_cache, который позволяет нам быстро кэшировать и вскрывать возвращаемые значения функции.
Давайте реализуем калькулятор чисел Фибоначчи с использованием кэша. Советую попробовать запустить любую рекурсивную функцию с кэшированием и без него, прирост в скорости замечается сразу.
#python
Подписывайтесь на канал 👉@cod_academy
Кэширование может сэкономить время, когда связанная с вводом или выводом функция периодически вызывается с одинаковыми аргументами. Раньше приходилось создавать свою реализацию, но в Python 3.2+ появился декоратор lru_cache, который позволяет нам быстро кэшировать и вскрывать возвращаемые значения функции.
Давайте реализуем калькулятор чисел Фибоначчи с использованием кэша. Советую попробовать запустить любую рекурсивную функцию с кэшированием и без него, прирост в скорости замечается сразу.
#python
Подписывайтесь на канал 👉@cod_academy
Метод subSequence()
Возвращает новую последовательность символов, которая является подпоследовательностью этой последовательности, другими словами — возвращает последовательность символов из строки, начиная и заканчивая указанными индексами.
#java
Подписывайтесь на канал 👉@cod_academy
Возвращает новую последовательность символов, которая является подпоследовательностью этой последовательности, другими словами — возвращает последовательность символов из строки, начиная и заканчивая указанными индексами.
#java
Подписывайтесь на канал 👉@cod_academy
👍1
Токенизация строки
Токенизация строки означает разделение строки относительно некоторого разделителя (разделителей). Есть много способов этого добиться.
Рассмотрим пример с функцией strtok(). Она разбивает строку по указанным разделителям и должна быть вызвана в цикле, на каждой итерации возвращая следующую часть. В конце возвращает NULL
#cpp
Подписывайтесь на канал 👉@cod_academy
Токенизация строки означает разделение строки относительно некоторого разделителя (разделителей). Есть много способов этого добиться.
Рассмотрим пример с функцией strtok(). Она разбивает строку по указанным разделителям и должна быть вызвана в цикле, на каждой итерации возвращая следующую часть. В конце возвращает NULL
#cpp
Подписывайтесь на канал 👉@cod_academy
Ускоряем код с помощью векторизации
Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами.
Вообще лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией my_func мы могли бы вызвать ее в цикле для каждого элемента списка, но гораздо проще использовать vectorize.
По сути, vectorize преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент. Надо помнить, что такой подход не всегда приводит к значительному ускорению.
#python
Подписывайтесь на канал 👉@cod_academy
Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами.
Вообще лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией my_func мы могли бы вызвать ее в цикле для каждого элемента списка, но гораздо проще использовать vectorize.
По сути, vectorize преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент. Надо помнить, что такой подход не всегда приводит к значительному ускорению.
#python
Подписывайтесь на канал 👉@cod_academy