Простой Python | Программирование
141K subscribers
2.36K photos
48 videos
1.36K links
Заявки принимаются автоматически.
Лучший образовательный канал по Python.

По всем вопросам: @dimaa_dimaa (реклама)

Ссылка на канал: https://t.me/+T1i5nO0m_h01ZDky
.
РКН: https://vk.cc/cJ5box
Помощь:https://telega.in/c/+T1i5nO0m_h01ZDky
Download Telegram
Разница между “is” и “==”

Распространенной проблемой является путаница с операторами сравнения “is” и “==”. Оператор “==” сравнивает значения, в то время как “is” проверяет ссылку на один и тот же объект в памяти. В коде приведены примеры для наглядности. Есть еще нюанс со строками и целыми числами. Короткие строки и маленькие целые числа будут возвращать True при сравнении с “is” из-за того, что Python пытается использовать меньше памяти для одинаковых объектов. Но более длинные строки и большие целые числа будут храниться отдельно.

#практика
👍3
Half Loop

В отличие от других языков, в Python нет конструкций do-while или do-until. Это конструкции, которые позволяют выполнять код до определенного условия. Однако точно такой же результат можно получить с помощью комбинации while True и break.

#практика
👍4
Предел рекурсии

Ограничение рекурсии по умолчанию в Python равно 1000. Это означает, что Python не позволит функции вызывать саму себя более 1000 раз. Этого вполне достаточно, но при необходимости ты можешь увеличить этот лимит. Делается это с помощью sys.setrecursionlimit(limit). Пользуйся этим только когда действительно нужно, так как большое количество рекурсий замедлит твой код.

#практика
👍2
Singleton

Синглтон – это шаблон, который ограничивает создание экземпляра класса одним объектом. С помощью декоратора ты можешь определить класс как синглтон. Таким образом класс либо возвращает существующий экземпляр класса, либо создает новый экземпляр. Этот декоратор можно добавить к любому объявлению класса, и он обеспечит создание не более одного экземпляра. Любые последующие вызовы вернут уже существующий экземпляр.

#практика
👍2🔥1
Подсчет подстроки

Существует метод для подсчета количества совпадений подстроки в строке. Метод str.count возвращает число непересекающихся совпадений. Необязательные аргументы start и end указывают начало и конец области поиска. По умолчанию start равен нулю, end = len(str), то есть поиск будет по всей строке. Указав другие значения start и end, ты можешь получить более локализованный поиск и подсчет.

#практика
👍1
Модуль math: округление

Модуль math предоставляет несколько функций для округления чисел. Функция floor округляет число “вниз”. Функция ceil округляет число “вверх”. Функция trunc избавляется от дробной части числа.

#практика
👍2
Правила для импорта

#теория
👍3
Модуль cmath

Модуль cmath включает дополнительные функции для работы с комплексными числами. С помощью этого модуля можно вычислить фазу комплексного числа в радианах, преобразовать комплексное число в декартовую или полярную систему координат.

#практика
itertools.dropwhile

Функция itertools.dropwhile позволяет тебе брать элементы из последовательности после того, как условие впервые становится ложным. В этом коде идет проверка на четность. Первое число, которое нарушает условие – 13. Все числа до него выбрасываются.

#практика
👍1
itertools.takewhile

Функция itertools.takewhile позволяет тебе брать элементы из последовательности до того, как условие впервые становится ложным. В этом коде идет проверка на четность. Первое число, которое нарушает условие – 13. Все числа после него выбрасываются вместе с 13.

#практика
Создание рандомного пароля

Чтобы создать рандомный пароль, ты можешь воспользоваться символами, предоставленными в модуле string. punctuation отвечает за знаки пунктуации, ascii letters за буквы, digits – за цифры. После этого объединяем все символы в symbols. Используй random.SystemRandom для создания пароля. В данном примере его длина – 10 символов.

#практика
👍2
shuffle, choice, sample

Ты можешь использовать random.shuffle() для рандомизации элементов в изменяемой и индексируемой последовательности. Метод choice() произвольно выбирает элемент в последовательности. Если тебе нужно выбрать несколько элементов, используй sample().

#практика
👍6
Модуль mmap

С помощью модуля mmap ты можешь получать доступ к произвольным местоположениям в файле, отображая файл в память. Это альтернатива использованию обычных операций с файлами.

#практика
Модуль pickle

Модуль pickle постоянно хранит данные в одном файле. Представление объекта всегда байтовое, поэтому для хранения данных необходимо открывать файлы в wb, для загрузки данных из pickle - в rb. Данные могут быть любого типа.

#практика
🔥3
Matplotlib

Библиотека matplotlib позволяет строить графики в стиле MATLAB. В данном примере продемонстрирован базовый функционал: постройка графика, отображение ключевых точек, смена цвета, наименование графика и его осей.

#практика
🔥4
Перехват нескольких исключений

Если ты хочешь обрабатывать разные исключения по-разному, ты можешь предоставить отдельный блок исключений для каждого типа. В этом примере мы перехватываем KeyError и AttributeError, но обрабатываем исключения по-разному. Если же хочешь обрабатывать разные исключения одинаково, объедини их в один except.

#практика
👍2🔥1
Модуль shelve

Shelve — это модуль Python, используемый для хранения объектов в файле. Он реализует постоянное хранилище для произвольных объектов Python, которые можно преобразовать в поток байтов с помощью API, похожего на словарь. Модуль shelve можно использовать в качестве простого варианта постоянного хранилища для объектов Python, когда реляционная база данных будет лишней. Доступ к shelve осуществляется с помощью ключей, как и к словарю.

#практика
👍1
Вычисление больших целых корней

Несмотря на то, что Python изначально поддерживает большие целые числа, извлечение n-го корня из очень больших чисел может привести к ошибке. В таком случае стоит воспользоваться бинарным поиском. В коде приведен пример, как это сделать.

#практика
Корутины

Генераторы можно использовать для реализации корутин. Корутины обычно используются для реализации конечных автоматов. Они полезны для создания процедур с одним методом, которые требуют, чтобы состояние функционировало должным образом. Они работают с существующим состоянием и возвращают значение, полученное по завершении операции.

#практика
👍2