Генераторы
Генератор – это функция, которая возвращает объект (итератор). Его ты можешь перебирать только по одному значению за раз. Это происходит по той причине, что генераторы не хранят все свои значения в памяти, а генерируют элементы “на лету”. Они не возвращают значение как функции, для этого используется ключевое слово yield.
#практика
Генератор – это функция, которая возвращает объект (итератор). Его ты можешь перебирать только по одному значению за раз. Это происходит по той причине, что генераторы не хранят все свои значения в памяти, а генерируют элементы “на лету”. Они не возвращают значение как функции, для этого используется ключевое слово yield.
#практика
🔥31👍14👏2
Enumerate
В Python цикл for обычно записывается как цикл над итерируемым объектом. Это означает, что тебе не нужна счетная переменная для доступа к элементам в итерируемом объекте. Однако иногда ты хочешь иметь переменную, которая изменяется при каждой итерации цикла. Вместо того, чтобы создавать и увеличивать переменную самостоятельно, ты можете использовать Python enumerate() для одновременного получения счетчика и значения из итерации.
#практика
В Python цикл for обычно записывается как цикл над итерируемым объектом. Это означает, что тебе не нужна счетная переменная для доступа к элементам в итерируемом объекте. Однако иногда ты хочешь иметь переменную, которая изменяется при каждой итерации цикла. Вместо того, чтобы создавать и увеличивать переменную самостоятельно, ты можете использовать Python enumerate() для одновременного получения счетчика и значения из итерации.
#практика
👍36🔥7😁1
Структура данных set
Набор — это неупорядоченная коллекция без повторяющихся элементов. Он используется для проверки членства и устранения повторяющихся записей. Объекты множества также поддерживают математические операции, такие как объединение, пересечение, разность и симметричная разность.
#практика
Набор — это неупорядоченная коллекция без повторяющихся элементов. Он используется для проверки членства и устранения повторяющихся записей. Объекты множества также поддерживают математические операции, такие как объединение, пересечение, разность и симметричная разность.
#практика
👍40🤔8🔥5🥰3🤣1
Функция внутри функции
Внутренние функции определяются внутри других функций. Они имеют прямой доступ к переменным и именам, определенным во внешней функций. Внутренние функции полезны для скрытия от внешнего доступа, создания вспомогательных функций. Также можно создать замыкания и декораторы.
#практика
Внутренние функции определяются внутри других функций. Они имеют прямой доступ к переменным и именам, определенным во внешней функций. Внутренние функции полезны для скрытия от внешнего доступа, создания вспомогательных функций. Также можно создать замыкания и декораторы.
#практика
👍100🤔22🤬9🔥7👏4
__slots__
По умолчанию Python использует dict для хранения атрибутов экземпляра объекта. Это действительно полезно, когда у тебя произвольное количество атрибутов. В небольших классах это уже проблема – dict тратит много оперативной памяти. Для экономии ресурсов используй slots. Память выделится только для фиксированного значения атрибутов. Это позволяет снизить использование оперативной памяти почти на 40-50 процентов.
#практика
По умолчанию Python использует dict для хранения атрибутов экземпляра объекта. Это действительно полезно, когда у тебя произвольное количество атрибутов. В небольших классах это уже проблема – dict тратит много оперативной памяти. Для экономии ресурсов используй slots. Память выделится только для фиксированного значения атрибутов. Это позволяет снизить использование оперативной памяти почти на 40-50 процентов.
#практика
👍143🤯18🔥13❤6🥰4👏2💩2
Пользовательские исключения
Python имеет множество встроенных исключений. Они заставляют твою программу выводить ошибку, когда что-то в ней идет не так. Однако иногда тебе могут пригодиться уникальные исключения для конкретных целей. Это можно реализовать с помощью класса. Этот класс исключений должен быть производным из класса Exception, прямо или косвенно. Большинство встроенных исключений также являются производными от этого класса.
#практика
Python имеет множество встроенных исключений. Они заставляют твою программу выводить ошибку, когда что-то в ней идет не так. Однако иногда тебе могут пригодиться уникальные исключения для конкретных целей. Это можно реализовать с помощью класса. Этот класс исключений должен быть производным из класса Exception, прямо или косвенно. Большинство встроенных исключений также являются производными от этого класса.
#практика
👍2
Codecademy сделали канал в телеграм!
Codecademy — это крупнейшая в мире онлайн платформа для изучения программирования. Нас плохо знают русскоговорящие люди.
Именно для таких мы и сделали канал с переводом лучших материалов на русский язык!
Обязательно подписывайтесь, такой информации не будет ни на одном форуме: @ccademy
Codecademy — это крупнейшая в мире онлайн платформа для изучения программирования. Нас плохо знают русскоговорящие люди.
Именно для таких мы и сделали канал с переводом лучших материалов на русский язык!
Обязательно подписывайтесь, такой информации не будет ни на одном форуме: @ccademy
Lambda
Ключевое слово lambda позволяет сделать небольшие безымянные функции. Результат выражения всегда автоматически возвращается. Лучше всего использовать lambda для одноразовых функций. В данном примере реализована сортировка по второму элементу. Не рекомендую злоупотреблять lambda, так как это повлияет на читаемость кода.
#практика
Ключевое слово lambda позволяет сделать небольшие безымянные функции. Результат выражения всегда автоматически возвращается. Лучше всего использовать lambda для одноразовых функций. В данном примере реализована сортировка по второму элементу. Не рекомендую злоупотреблять lambda, так как это повлияет на читаемость кода.
#практика
👍2
JavaScript теперь в телеграм!
JavaScript — самый популярный язык в мире, он используется в 95% всех сайтов, которые вообще существуют. Теперь у JS есть русскоязычный канал. Это первоисточник всего, что появляется в платных курсах и остальных ресурсов. Стоит подписаться!
JavaScript — самый популярный язык в мире, он используется в 95% всех сайтов, которые вообще существуют. Теперь у JS есть русскоязычный канал. Это первоисточник всего, что появляется в платных курсах и остальных ресурсов. Стоит подписаться!
👍2
Функция zip
Функция zip позволяет легко объединить два списка. После вызова возвращается итератор. Чтобы увидеть содержимое, нужно сначала преобразовать его в список. Это полезно в циклах, так как позволяет избавиться от лишних вводов. Аналогично можно разбить один список на несколько. Для этого тебе нужно перед списком добавить звездочку.
#практика
Функция zip позволяет легко объединить два списка. После вызова возвращается итератор. Чтобы увидеть содержимое, нужно сначала преобразовать его в список. Это полезно в циклах, так как позволяет избавиться от лишних вводов. Аналогично можно разбить один список на несколько. Для этого тебе нужно перед списком добавить звездочку.
#практика
👍5
Разница между “is” и “==”
Распространенной проблемой является путаница с операторами сравнения “is” и “==”. Оператор “==” сравнивает значения, в то время как “is” проверяет ссылку на один и тот же объект в памяти. В коде приведены примеры для наглядности. Есть еще нюанс со строками и целыми числами. Короткие строки и маленькие целые числа будут возвращать True при сравнении с “is” из-за того, что Python пытается использовать меньше памяти для одинаковых объектов. Но более длинные строки и большие целые числа будут храниться отдельно.
#практика
Распространенной проблемой является путаница с операторами сравнения “is” и “==”. Оператор “==” сравнивает значения, в то время как “is” проверяет ссылку на один и тот же объект в памяти. В коде приведены примеры для наглядности. Есть еще нюанс со строками и целыми числами. Короткие строки и маленькие целые числа будут возвращать True при сравнении с “is” из-за того, что Python пытается использовать меньше памяти для одинаковых объектов. Но более длинные строки и большие целые числа будут храниться отдельно.
#практика
👍3
Half Loop
В отличие от других языков, в Python нет конструкций do-while или do-until. Это конструкции, которые позволяют выполнять код до определенного условия. Однако точно такой же результат можно получить с помощью комбинации while True и break.
#практика
В отличие от других языков, в Python нет конструкций do-while или do-until. Это конструкции, которые позволяют выполнять код до определенного условия. Однако точно такой же результат можно получить с помощью комбинации while True и break.
#практика
👍4
Предел рекурсии
Ограничение рекурсии по умолчанию в Python равно 1000. Это означает, что Python не позволит функции вызывать саму себя более 1000 раз. Этого вполне достаточно, но при необходимости ты можешь увеличить этот лимит. Делается это с помощью sys.setrecursionlimit(limit). Пользуйся этим только когда действительно нужно, так как большое количество рекурсий замедлит твой код.
#практика
Ограничение рекурсии по умолчанию в Python равно 1000. Это означает, что Python не позволит функции вызывать саму себя более 1000 раз. Этого вполне достаточно, но при необходимости ты можешь увеличить этот лимит. Делается это с помощью sys.setrecursionlimit(limit). Пользуйся этим только когда действительно нужно, так как большое количество рекурсий замедлит твой код.
#практика
👍2