Pythoner
Open in Telegram
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику. Сотрудничество - @flattys Цены - @serpent_media Канал на бирже: https://telega.in/c/pythonercode
Show more6 777
Subscribers
-724 hours
-277 days
-4930 days
Posts Archive
6 775
🐍cProfile - это модуль в стандартной библиотеке Python, который предоставляет возможность профилирования кода. Он позволяет измерить время выполнения каждой функции в вашем коде, а также количество вызовов каждой функции. Это делает его отличным инструментом для определения тех мест в вашем коде, которые являются узкими местами и могут быть оптимизированы.
💡 Как использовать cProfile?
➡️Использование cProfile довольно просто. Вы просто импортируете модуль и вызываете функцию
cProfile.run(), передавая ей строку кода, который вы хотите проанализировать. Вы также можете использовать cProfile в качестве командной строки, передав ему имя файла Python, который вы хотите профилировать. Результаты профилирования могут быть отсортированы по различным критериям, таким как общее время выполнения, время выполнения на вызов и количество вызовов.6 775
🐍Метод
upper() в Python используется для преобразования всех символов строки в верхний регистр. То есть все буквы в строке будут преобразованы в прописные (заглавные) буквы.
➡️Метод upper() не изменяет исходную строку, а создает новую строку с символами верхнего регистра. Поэтому для сохранения изменений необходимо присвоить результат работы метода переменной.
➡️Этот метод полезен, если вам нужно сравнивать строки без учета регистра символов, форматировать данные для вывода или в любых других случаях, когда вам нужно преобразовать все символы строки в верхний регистр.6 775
🐍Ошибка IndexError в Python возникает, когда происходит попытка обращения к элементу последовательности (списка, кортежа, строки и т. д.) с индексом, который выходит за пределы допустимого диапазона индексов.
➡️Например, если у нас есть список с пятью элементами, а мы пытаемся обратиться к элементу с индексом 5 или -1 (если индексация идет с 0), то будет сгенерирована ошибка IndexError.
💡Для предотвращения ошибки IndexError важно всегда учитывать допустимый диапазон индексов при обращении к элементам последовательности. Можно использовать условные проверки перед обращением к элементу, чтобы убедиться, что индекс находится в допустимом диапазоне.
6 775
🐍Чтобы объект стал итерируемым, необходимо реализовать метод __iter__().
Метод __iter__() должен возвращать объект, который имеет метод __next__(), либо сам являтся итерируемым (итератором).
⬆️В этом примере при каждом вызове next() возвращается следующий элемент из data, пока не будет достигнут конец списка, после чего вызывается исключение StopIteration, что говорит о завершении итерации.
➡️Таким образом, реализуя методы iter() и next(), можем сделать свой объект итерируемым и использовать его в циклах for и других местах, где требуется работа с итерируемыми объектами.
6 775
🐍Функция mean() из модуля statistics в Python используется для вычисления среднего значения (средней арифметической) из последовательности чисел и принимает в качестве аргумента итерируемый объект.
➡️Однако стоит отметить, что statistics.mean() не работает со строками или другими нечисловыми типами данных. Если в вашей последовательности есть строки, вам нужно предварительно провести преобразование к числовому типу.
6 775
🐍Декоратор @jit в библиотеке Numba используется для компиляции функции Python в машинный код с целью ускорения её выполнения, одновременно сохраняя гибкость работы с разнообразными типами данных благодаря динамичности компиляции.
➡️Этот результат достигается за счёт использования JIT-компиляции (just-in-time compilation), что означает, что код компилируется только тогда, когда он действительно требуется в процессе выполнения программы, а не заранее.
💡Однако важно помнить, что результаты использования Numba могут варьироваться в зависимости от конкретной задачи и данных. В некоторых случаях, особенно при работе с небольшими объемами данных, накладные расходы на компиляцию могут превысить выигрыш в скорости. Поэтому рекомендуется провести тщательное тестирование перед внедрением Numba в проект.
6 775
🐍Байтовые объекты - это объекты, которые хранят и обрабатывают данные в виде байтов, а не в виде символов.
➡️Байтовые объекты в Python представлены типом данных bytes и bytearray.
➡️Основное различие между ними заключается в том, что bytes является неизменяемым типом данных, в то время как bytearray - изменяемым.
➡️Синтаксис для байтовых литералов похож на строковые литералы, но с добавлением префикса "b", который указывает интерпретатору Python на то, что строка должна быть представлена в виде байтового объекта.
💡Эти объекты часто используются для работы с бинарными файлами, сетевыми пакетами и другими данными, которые нужно представить в виде последовательности байтов.
6 775
🐍Существуют ситуации, когда при работе с терминалом необходимо выделить определенную информацию цветом. Один из способов — использовать ANSI Escape Codes.
➡️Символ \033 обозначает начало управляющего кода ANSI, [33;104m — это параметры, где 33 — желтый цвет текста, 104 — синий цвет фона, а [0m возвращает цвет текста в стандартный черный.
➡️Важно отметить, что поддержка ANSI Escape Codes может варьироваться в зависимости от используемой операционной системы и терминала.
6 775
🐍Для динамического импорта модулей в Python можно использовать функцию import_module() из стандартной библиотеки importlib.
⬆️В данном примере код динамически импортирует модуль random и использует функцию sample() из этого модуля для выбора нескольких случайных элементов из списка.
➡️Обычно динамический импорт модулей применяется, когда имена модулей неизвестны на этапе написания кода, а определяются в процессе выполнения программы.
Например, на основе пользовательского ввода или конфигурационных данных.
6 775
🐍Метод encode() в Python преобразует строки в байтовые объекты, используя определенную кодировку (по умолчанию UTF-8).
➡️Если в строке есть символы, недопустимые в выбранной кодировке, возникает исключение UnicodeEncodeError.
При пустой строке метод вернет пустую последовательность байтов.
➡️Метод encode() создает новый объект байтов, представляющий исходную строку в выбранной кодировке, не изменяя исходную строку.
6 775
Сколько зарабатывает фрилансер-программист в 16 лет?
Вчера взял проект за 500$ — сегодня купил здесь рекламу.
Перестань писать код бесплатно, начни монетизировать своё дело. А о том, как это сделать расскажет канал «Фриланс с Хаямом Алиевым»
Будь первым, кто познает все тонкости фриланса: https://t.me/+cXqR6Bky1IcwYmIy
6 775
🐍Метод strip() по умолчанию удаляет все пробельные символы с начала и конца строки.
➡️Если в метод strip() передать набор символов в качестве аргумента, он удалит все вхождения этих символов с обоих концов строки.
➡️Он возвращает новую строку, в которой все эти символы удалены.
💡Если нужно удалить символы только с одного конца строки, то можно использовать методы lstrip() (для удаления слева) и rstrip() (для удаления справа).
6 775
🐍Команда «python -m timeit» в консоли используется для тестирования производительности фрагмента кода на Python путем многократного его выполнения и измерения времени выполнения.
➡️Она запускает модуль timeit, который является частью стандартной библиотеки Python.
➡️Это позволяет оценить производительность определенного участка кода.
6 775
3, 2 … Остановимся здесь. 🐍
Потому что 2 недель достаточно, чтобы познакомиться с основами Python и понять, подходит ли вам это направление!
Не обещаем, что будет легко, но интересно, полезно и недорого (всего 990 рублей!) — гарантируем.
Расклад такой: мы даем вам базу — больше 70 уроков, вебинары, лайвкодинг, а вы пишете собственную программу.
Если переживайте — не переживайте :) Рядом всегда будет наставник, готовый ответить на любой ваш вопрос.
⏰ Старт курса уже 21 марта, присоединяйтесь!
6 775
🐍Метод zfill() используется для дополнения строкового значения слева нулями до указанной длины.
💡Если исходная строка уже имеет равную или большую длину, то метод ничего не делает и возвращает исходную строку.
➡️Таким образом, метод zfill() полезен, когда вам нужно привести число к определенному формату с ведущими нулями.
6 775
🐍Метод deepcopy() из модуля copy используется для создания глубокой копии объекта.
➡️Глубокая копия объекта создает новый объект и рекурсивно копирует все объекты, на которые он ссылается, чтобы создать полностью независимую копию исходного объекта.
➡️Использование copy.deepcopy() особенно полезно, когда вам нужно создать копию объекта, содержащего вложенные объекты, такие как списки в списке или словари в списке.
6 775
Привет!
Это команда Концепт-Разработка. Мы занимаемся развитием и внедрением продуктов в сфере больших данных, корпоративных хранилищ данных, BI и систем управления данными. У себя в канале развиваем сообщество бизнес и системных аналитиков, разработчиков и data-инженеров.
+ Актуальные вакансии;
+ Интересные разработки;
+ Проекты федеральных заказчиков;
+ Новости индустрии и многое другое.
Подписывайся на канал, мы будем рады и экспертам, и начинающим специалистам!
Реклама. ООО "КОНЦЕПТ РАЗРАБОТКА". ИНН 7703471165. erid: LjN8KWarr
Available now! Telegram Research 2025 — the year's key insights 
