__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
Singleton
Синглтон – это шаблон, который ограничивает создание экземпляра класса одним объектом. С помощью декоратора ты можешь определить класс как синглтон. Таким образом класс либо возвращает существующий экземпляр класса, либо создает новый экземпляр. Этот декоратор можно добавить к любому объявлению класса, и он обеспечит создание не более одного экземпляра. Любые последующие вызовы вернут уже существующий экземпляр.
#практика
Синглтон – это шаблон, который ограничивает создание экземпляра класса одним объектом. С помощью декоратора ты можешь определить класс как синглтон. Таким образом класс либо возвращает существующий экземпляр класса, либо создает новый экземпляр. Этот декоратор можно добавить к любому объявлению класса, и он обеспечит создание не более одного экземпляра. Любые последующие вызовы вернут уже существующий экземпляр.
#практика
👍2🔥1
Подсчет подстроки
Существует метод для подсчета количества совпадений подстроки в строке. Метод str.count возвращает число непересекающихся совпадений. Необязательные аргументы start и end указывают начало и конец области поиска. По умолчанию start равен нулю, end = len(str), то есть поиск будет по всей строке. Указав другие значения start и end, ты можешь получить более локализованный поиск и подсчет.
#практика
Существует метод для подсчета количества совпадений подстроки в строке. Метод str.count возвращает число непересекающихся совпадений. Необязательные аргументы start и end указывают начало и конец области поиска. По умолчанию start равен нулю, end = len(str), то есть поиск будет по всей строке. Указав другие значения start и end, ты можешь получить более локализованный поиск и подсчет.
#практика
👍1
Модуль math: округление
Модуль math предоставляет несколько функций для округления чисел. Функция floor округляет число “вниз”. Функция ceil округляет число “вверх”. Функция trunc избавляется от дробной части числа.
#практика
Модуль math предоставляет несколько функций для округления чисел. Функция floor округляет число “вниз”. Функция ceil округляет число “вверх”. Функция trunc избавляется от дробной части числа.
#практика
👍2
Модуль cmath
Модуль cmath включает дополнительные функции для работы с комплексными числами. С помощью этого модуля можно вычислить фазу комплексного числа в радианах, преобразовать комплексное число в декартовую или полярную систему координат.
#практика
Модуль cmath включает дополнительные функции для работы с комплексными числами. С помощью этого модуля можно вычислить фазу комплексного числа в радианах, преобразовать комплексное число в декартовую или полярную систему координат.
#практика
itertools.dropwhile
Функция itertools.dropwhile позволяет тебе брать элементы из последовательности после того, как условие впервые становится ложным. В этом коде идет проверка на четность. Первое число, которое нарушает условие – 13. Все числа до него выбрасываются.
#практика
Функция itertools.dropwhile позволяет тебе брать элементы из последовательности после того, как условие впервые становится ложным. В этом коде идет проверка на четность. Первое число, которое нарушает условие – 13. Все числа до него выбрасываются.
#практика
👍1