📌 Уже 15 февраля в 19:00 (мск) стартует наш бесплатный двухдневный онлайн-интенсив.
Во время эфира вы научитесь писать код, запускать и поддерживать простого Telegram-бота. Познакомитесь с синтаксисом языка и увидите, как декомпозировать задачи по разработке.
Приходите, чтобы пообщаться и поучиться у опытного разработчика, узнать всю правду и перспективы Python и получить полезные подарки для комфортного старта в разработку.
🎁 Всем, кто зарегистрировался — Гайд «Как заговорить на сленге IT-специалистов», а каждому участнику — Карта компетенций Python-разработчика.
Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid:LjN8K34Mo
На связи админ! Я тут перенес в телеграм бота обновленный на самых последних данных GPT4, который также способен работать с картинками. Если вы искали такого помощника, то переходите и тестируйте его бесплатно 1 день. Далее цена за месяц будет в 3 раза дешевле, чем на офицальном сайте. Пользуйтесь: @Gpt4_NeuroBot
Читать полностью…Метод str.replace()
Метод str.replace()
в Python используется для замены подстроки в строке новой подстрокой. Вот базовый синтаксис метода:
new_string = old_string.replace(old_substring, new_substring)
old_string
— исходная строка, в которой вы хотите выполнить замену.old_substring
— подстрока, которую вы хотите заменить.new_substring
— новая подстрока, которой вы хотите заменить старую подстроку.Композиция классов
Композиция классов — это концепция, при которой один класс включает в себя объект(ы) другого класса в качестве атрибута. Это отличается от наследования, где класс наследует атрибуты и методы другого класса. Композиция обычно предпочтительна в сравнении с наследованием, так как она обеспечивает более гибкую структуру.
Композиция обычно предпочтительна, когда отношение между двумя классами является «имеет» или «включает», а не «является». Она делает код более гибким, позволяя изменять поведение объекта, не изменяя его класс напрямую.
Важно отметить, что композиция и наследование могут использоваться вместе в зависимости от конкретных требований вашей программы.
#для_продвинутых
Мониторить метрики CPU и RAM важно для эффективного потребления ресурсов.
Никита Моторный, старший разработчик в Selectel, как раз столкнулся с такой задачей. Однако если ваше приложение запущено в мультипроцессном режиме, все может быть не так тривиально…
Что делать, если авторы flask-prometheus-exporter не подружились с форкающимся gunicorn и отказались от сбора процессных метрик?
Рассказываем в карточках: https://slc.tl/kf49rи в докладе с Selectel Python Meetup!
@selectelcareers
Реклама. ООО "СЕЛЕКТЕЛ". ИНН 7842393933. erid: LjN8KFpRv
Модуль warnings
Модуль warnings
предоставляет возможность управления предупреждениями, которые могут быть выведены во время выполнения программы.
Модуль warnings
полезен, когда необходимо предупредить пользователя о каком-либо условии в программе и это условие не требует создания исключения и завершения программы.
Кроме того, вы можете настроить различные параметры для управления предупреждениями, такие как фильтрация предупреждений определенного типа или их преобразование в ошибки. Подробнее об этом можно узнать в документации.
#для_начинающих
Как работает хэш-таблица?
Хэш-таблица в Python реализована в виде словаря (dict). Вот как это работает:
— Хэширование ключей: Когда вы добавляете пару ключ-значение в словарь, Python сначала вычисляет хэш-код ключа с помощью встроенной функции hash(). Хэш-код - это целое число, представляющее "отпечаток" ключа.
— Разрешение коллизий: Если два разных ключа имеют одинаковый хэш-код (коллизия), Python использует механизм разрешения коллизий для размещения значений в памяти. Одним из наиболее распространенных методов разрешения коллизий является метод цепочек, когда для каждого "ячейки" хэш-таблицы выделен список, в который добавляются все значения с одинаковыми хэш-кодами.
— Поиск значения: При поиске значения по ключу Python сначала вычисляет хэш-код ключа и затем использует его для определения соответствующей "ячейки" в хэш-таблице. Затем происходит поиск значения внутри этой "ячейки" (или цепочки).
#для_продвинутых
Модуль transliterate
В Python существует несколько библиотек для транслитерации текста, и одной из них является библиотека transliterate. Этот модуль позволяет переводить текст из одной письменности в другую, например, из кириллицы в латиницу.
Для использования библиотеки transliterate сначала нужно установить её с помощью pip:
pip install transliterate
os.rename()
В Python функция os.rename()
используется для переименования файла или директории в операционной системе. Она входит в модуль os
.
#для_начинающих
igraphigraph
— это библиотека для работы с графами (сетями) в Python. Она предоставляет инструменты для создания, анализа и визуализации графов. Если у вас нет установленной библиотеки igraph
, вы можете установить её с помощью pip:
pip install python-igraph
igraph
и его возможностях можно найти в официальной документации.SymPy
SymPy — это библиотека символьной математики для языка программирования Python. В отличие от численных вычислений, символьная математика работает с математическими объектами, такими как переменные, выражения и уравнения, в абстрактной форме, а не приближенно численно.
SymPy позволяет проводить символьные вычисления, что означает, что вы можете работать с математическими выражениями в их аналитической форме.
#для_начинающих
Заходят как-то прогер, девопс и тестировщик в канал IT База Знаний...
А там:
😉 крутое IT-сообщество, с которым хочется расти;
➕ материалы и туториалы, рассказанные доступным языком, необходимые для повышения квалификации и профессионализма;
🤩 актуальные новости и юмор из мира высоких технологий, чтобы быть в курсе последних событий.
Подписывайся на канал для программистов без снобизма!🥳
/channel/+TFLR3ot7NEQwNTEy
Напишите функцию на Python, которая принимает строку и возвращает словарь, содержащий количество вхождений каждого слова в строке. Считайте, что слова в строке разделяются пробелами, и игнорируйте знаки препинания.
Для начала используем метод translate
для удаления знаков препинания из исходной строки. Модуль string
предоставляет строку punctuation
, содержащую все знаки препинания. Метод translate
использует таблицу перевода для удаления указанных символов.
Затем приводим текст к нижнему регистру, чтобы учесть все слова независимо от регистра. После этого используем метод split()
для разделения текста на список слов.
Создаём пустой словарь word_count
для подсчета вхождений каждого слова. Затем, используя цикл for
, проходимся по списку слов и обновляем счетчик в словаре. Если слово уже есть в словаре, увеличиваем его счетчик на 1; если нет, добавляем его в словарь с начальным счетчиком 1.
Наконец, возвращаем словарь word_count
, который содержит количество вхождений каждого слова в тексте.
#Вопросы_с_собеседования
Twisted
Twisted — это асинхронный фреймворк для разработки сетевых приложений на языке Python. Он предоставляет реализацию множества протоколов, таких как TCP, UDP, SSL/TLS, DNS, и других, используя асинхронный стиль программирования.
Код выше создает TCP-сервер, прослушивающий порт 1234, и при подключении клиента создает экземпляр MyProtocol, который обрабатывает данные в методе dataReceived. В приведенном примере, сервер просто отправляет обратно полученные данные.
Twisted также предоставляет возможности для работы с асинхронными задачами, таймерами, и другими асинхронными концепциями. Это позволяет создавать эффективные и отзывчивые сетевые приложения.
Обратите внимание, что использование Twisted может потребовать времени для изучения, так как он предоставляет множество возможностей для работы с сетевыми протоколами и асинхронным программированием.
#для_продвинутых
__subclasshook____subclasshook__
— это метод, который можно определить в классе, чтобы влиять на процесс проверки, является ли данный класс подклассом другого класса. Этот метод обычно используется вместе с метаклассами и полезен, например, при создании абстрактных базовых классов.
Протокол __subclasshook__
предоставляет способ определить подходит ли класс для использования в качестве подкласса заданного класса. Если метод возвращает True
, то класс считается подклассом. Если метод возвращает NotImplemented
, то это означает, что проверка должна быть выполнена с использованием стандартных правил.
#для_продвинутых
pprintpprint
(pretty-print) предоставляет функционал для красивого вывода структур данных в удобочитаемой форме. Он используется для отображения сложных объектов, таких как словари и списки, с отступами и переносами строк для лучшей читаемости.
#для_начинающих
PsychoPy
PsychoPy — это программное обеспечение для создания экспериментов в области психологии, нейронауки и экспериментальной психиатрии с использованием языка программирования Python. Он предоставляет инструменты для создания различных видов стимулов, управления временем, сбора данных и анализа результатов.
В примере на картинке мы создаем окно, текстовый стимул, отображаем его, ждем 2 секунды и затем закрываем окно. PsychoPy предоставляет богатый набор функций для создания более сложных экспериментов, таких как представление изображений, воспроизведение звуков, сбор данных о времени реакции и многое другое.
#для_продвинутых
Поверхностное копирование
Копирование объектов может быть выполнено как «поверхностное» (shallow) копирование или «глубокое» (deep) копирование. Различия между ними заключаются в том, как обрабатываются вложенные объекты.
Глубокое копирование мы уже рассматривали в посте выше, поэтому этот пост мы посвятим Поверхностному копированию.
При поверхностном копировании создается новый объект, но его внутренние элементы (если они тоже являются объектами) остаются ссылками на те же объекты, что и в оригинале. Другими словами, копируются только ссылки на объекты, но не сами объекты.
Заметьте, что изменения во вложенных объектах будут видны как в оригинале, так и в его поверхностной копии.
#для_начинающих
Библиотека Manim
Библиотека Manim (Mathematical Animation Engine) предоставляет инструменты для создания анимаций математических концепций с использованием Python. Эта библиотека широко используется в образовательных целях и в сообществе, занимающемся созданием математических контентов. Manim была изначально разработана Grant'ом Sanderson'ом, создателем 3Blue1Brown, для создания анимаций для его образовательных видеороликов.
Помимо этого, существует две версии Manim: Manim Community Edition (ManimCE) и Manim GL. ManimCE является развитием и поддерживается сообществом. Manim GL, с другой стороны, предоставляет улучшенные возможности OpenGL для более высокого качества анимаций.
После установки вы можете использовать команды вроде manim your_script.py YourSceneName -p -ql
, чтобы создать видео на основе вашего скрипта.
Однако, учтите, что состояние инструментов и их документации может измениться, поэтому рекомендуется посетить официальный репозиторий Manim на GitHub для получения последней информации: Manim Community Edition.
#для_продвинутых
Функция zip()
Функция zip()
используется для объединения элементов из двух или более итерируемых объектов в кортежи. Эти кортежи могут затем быть использованы, например, для создания словарей или других структур данных. Функция zip()
создает итератор, который генерирует кортежи из элементов, взятых по одному из каждого переданного ей итерируемого объекта.
Важно отметить, что если переданные итерируемые объекты имеют разную длину, zip()
остановится, когда самый короткий из них исчерпается.
#для_начинающих
Думали, на этом канале не будет ничего про закрытую вечеринку? Ошиблись, но не дверью: ребята из Финтеха Яндекса устраивают небольшой дебош в своём офисе — и зовут на него бэкенд-разработчиков из разных городов, чтобы познакомиться ближе.
Обещают быть откровенными только на словах: приоткроют NDA, поделятся инсайдами о продуктах и планами на будущее. А пить пиво с бургерами в офисном баре, играть в плойку и фоткаться в переговорках у ребят и так разрешается, поэтому трогать ничего не стали.
Свитер для извинений и собеседований не понадобится — достаточно базового знания Python/Go и желания хорошо провести время. Чтобы получить инвайт на Ночь в Финтехе, которая пройдет в конце февраля, достаточно оставить заявку по ссылке и решить небольшую задачку на знание кода.
Реклама. ООО «Яндекс Пэй»
collections.Countercollections.Counter
— это специальный класс, предоставляющий удобный способ подсчета хэшируемых объектов. Он является подклассом словаря и предоставляет функциональность для подсчета количества вхождений каждого элемента в последовательность (список, кортеж, строку и т.д.).
#для_продвинутых
📣 Уважаемые Python'исты, у меня для вас важная информация!
Представляю вашему вниманию наш канал с вакансиями по Python! Админы вручную просматривают, отбирают и публикуют самые свежие и интересные вакансии, связанные с этим языком программирования.
🐍 Канал специализируется исключительно на Python
📆Вакансии публикуются каждый день
🔝 В результате отбора выкладываются только топовые вакансии, которые будет интересны и джуну, и сеньору!
Python Вакансии l Работа Питон - подписывайтесь, и заветный оффер не заставит вас долго ждать!
Реклама. Клюев И.К.
ИНН 471421081281
erid 2VtzqwPPGzB
Duck typing
Duck typing — это парадигма в программировании, используемая в языках с динамической типизацией, таких как Python. Суть duck typing заключается в том, что тип объекта определяется его поведением (методами и свойствами), а не явно указанным интерфейсом или базовым классом.
В Python duck typing часто выражается фразой: «Если это выглядит как утка, плавает как утка и крякает как утка, то это, вероятно, и есть утка.»
#для_продвинутых
Оператор pass
В Python оператор pass
представляет собой пустой оператор, который не выполняет никаких действий. Он часто используется там, где синтаксически требуется presense of code (т.е. наличие кода), но непосредственное выполнение каких-либо действий не требуется.
В примере на картинке pass
используется в блоке if
, чтобы указать, что в случае, если условие True
, необходимо просто перейти к следующему блоку кода.
Также pass может использоваться в определениях функций, классов и других местах, где требуется наличие кода, но конкретные действия не определены.
#для_начинающих
Оператор raise
Оператор raise
используется для возбуждения исключения (exception). Он позволяет программистам явным образом указывать, что в программе произошла какая-то ошибка или неожиданное условие, и вызывать соответствующее исключение.
Синтаксис оператора raise
выглядит следующим образом:
raise [Exception [, args [, traceback]]]
Exception
— это тип исключения, которое вы хотите возбудить, а args
и traceback
— дополнительные аргументы, связанные с исключением.raise
без аргументов, чтобы повторно возбудить текущее исключение внутри блока except
. Это может быть полезно, если вы хотите добавить дополнительную информацию к исключению или изменить его тип.dict.get()dict.get()
— это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]
), метод get()
предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре.
Синтаксис метода get()
выглядит так:value = dict.get(key, default)
key
: Ключ, по которому производится поиск в словаре.default
(необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default
не указан, и ключ не найден, метод вернет None
.
#для_начинающих
🐍 Не просто сложно, а очень сложно... пройти хардкорный тест по Python от OTUS.
Ответьте на 20 вопросов и проверьте, насколько вы готовы к обучению на продвинутом курсе «Python Developer. Professional» от OTUS.
🔹На обучении вас ждет продвинутые темы и практика на «боевых» задачах уровня Middle+
🔹Проектная работа, которой можно показать свой уровень на собеседовании
Овладейте лучшими практиками и навыками Python для уверенного карьерного роста
Специально для подписчиков спец скидка 10% на приобретения курса по промокоду python10
👉 Пройти тест
https://otus.pw/Vp5N/?erid=LjN8KMW6S
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Библиотека Qiskit
Qiskit — это открытая библиотека для работы с квантовыми вычислениями в Python. Она предоставляет инструменты для создания, симуляции и запуска квантовых программ на реальных квантовых устройствах.
Вы можете изучить документацию Qiskit для получения более подробной информации и примеров использования.
#для_продвинутых
argcomplete
argcomplete — это библиотека для автоматического дополнения аргументов командной строки в Python. Это может быть полезно при разработке сценариев командной строки, когда вы хотите, чтобы ваш скрипт предлагал возможные аргументы и значения при нажатии клавиши Tab.
argcomplete поддерживает не все оболочки по умолчанию, и вам может потребоваться настроить ее соответствующим образом для вашей среды выполнения.
#для_продвинутых