Разница между “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
itertools.takewhile
Функция itertools.takewhile позволяет тебе брать элементы из последовательности до того, как условие впервые становится ложным. В этом коде идет проверка на четность. Первое число, которое нарушает условие – 13. Все числа после него выбрасываются вместе с 13.
#практика
Функция itertools.takewhile позволяет тебе брать элементы из последовательности до того, как условие впервые становится ложным. В этом коде идет проверка на четность. Первое число, которое нарушает условие – 13. Все числа после него выбрасываются вместе с 13.
#практика
Создание рандомного пароля
Чтобы создать рандомный пароль, ты можешь воспользоваться символами, предоставленными в модуле string. punctuation отвечает за знаки пунктуации, ascii letters за буквы, digits – за цифры. После этого объединяем все символы в symbols. Используй random.SystemRandom для создания пароля. В данном примере его длина – 10 символов.
#практика
Чтобы создать рандомный пароль, ты можешь воспользоваться символами, предоставленными в модуле string. punctuation отвечает за знаки пунктуации, ascii letters за буквы, digits – за цифры. После этого объединяем все символы в symbols. Используй random.SystemRandom для создания пароля. В данном примере его длина – 10 символов.
#практика
👍2
shuffle, choice, sample
Ты можешь использовать random.shuffle() для рандомизации элементов в изменяемой и индексируемой последовательности. Метод choice() произвольно выбирает элемент в последовательности. Если тебе нужно выбрать несколько элементов, используй sample().
#практика
Ты можешь использовать random.shuffle() для рандомизации элементов в изменяемой и индексируемой последовательности. Метод choice() произвольно выбирает элемент в последовательности. Если тебе нужно выбрать несколько элементов, используй sample().
#практика
👍6
Модуль mmap
С помощью модуля mmap ты можешь получать доступ к произвольным местоположениям в файле, отображая файл в память. Это альтернатива использованию обычных операций с файлами.
#практика
С помощью модуля mmap ты можешь получать доступ к произвольным местоположениям в файле, отображая файл в память. Это альтернатива использованию обычных операций с файлами.
#практика
Модуль pickle
Модуль pickle постоянно хранит данные в одном файле. Представление объекта всегда байтовое, поэтому для хранения данных необходимо открывать файлы в wb, для загрузки данных из pickle - в rb. Данные могут быть любого типа.
#практика
Модуль pickle постоянно хранит данные в одном файле. Представление объекта всегда байтовое, поэтому для хранения данных необходимо открывать файлы в wb, для загрузки данных из pickle - в rb. Данные могут быть любого типа.
#практика
🔥3
Matplotlib
Библиотека matplotlib позволяет строить графики в стиле MATLAB. В данном примере продемонстрирован базовый функционал: постройка графика, отображение ключевых точек, смена цвета, наименование графика и его осей.
#практика
Библиотека matplotlib позволяет строить графики в стиле MATLAB. В данном примере продемонстрирован базовый функционал: постройка графика, отображение ключевых точек, смена цвета, наименование графика и его осей.
#практика
🔥4
Перехват нескольких исключений
Если ты хочешь обрабатывать разные исключения по-разному, ты можешь предоставить отдельный блок исключений для каждого типа. В этом примере мы перехватываем KeyError и AttributeError, но обрабатываем исключения по-разному. Если же хочешь обрабатывать разные исключения одинаково, объедини их в один except.
#практика
Если ты хочешь обрабатывать разные исключения по-разному, ты можешь предоставить отдельный блок исключений для каждого типа. В этом примере мы перехватываем KeyError и AttributeError, но обрабатываем исключения по-разному. Если же хочешь обрабатывать разные исключения одинаково, объедини их в один except.
#практика
👍2🔥1
Модуль shelve
Shelve — это модуль Python, используемый для хранения объектов в файле. Он реализует постоянное хранилище для произвольных объектов Python, которые можно преобразовать в поток байтов с помощью API, похожего на словарь. Модуль shelve можно использовать в качестве простого варианта постоянного хранилища для объектов Python, когда реляционная база данных будет лишней. Доступ к shelve осуществляется с помощью ключей, как и к словарю.
#практика
Shelve — это модуль Python, используемый для хранения объектов в файле. Он реализует постоянное хранилище для произвольных объектов Python, которые можно преобразовать в поток байтов с помощью API, похожего на словарь. Модуль shelve можно использовать в качестве простого варианта постоянного хранилища для объектов Python, когда реляционная база данных будет лишней. Доступ к shelve осуществляется с помощью ключей, как и к словарю.
#практика
👍1
Вычисление больших целых корней
Несмотря на то, что Python изначально поддерживает большие целые числа, извлечение n-го корня из очень больших чисел может привести к ошибке. В таком случае стоит воспользоваться бинарным поиском. В коде приведен пример, как это сделать.
#практика
Несмотря на то, что Python изначально поддерживает большие целые числа, извлечение n-го корня из очень больших чисел может привести к ошибке. В таком случае стоит воспользоваться бинарным поиском. В коде приведен пример, как это сделать.
#практика
Корутины
Генераторы можно использовать для реализации корутин. Корутины обычно используются для реализации конечных автоматов. Они полезны для создания процедур с одним методом, которые требуют, чтобы состояние функционировало должным образом. Они работают с существующим состоянием и возвращают значение, полученное по завершении операции.
#практика
Генераторы можно использовать для реализации корутин. Корутины обычно используются для реализации конечных автоматов. Они полезны для создания процедур с одним методом, которые требуют, чтобы состояние функционировало должным образом. Они работают с существующим состоянием и возвращают значение, полученное по завершении операции.
#практика
👍2