Python академия
الذهاب إلى القناة على Telegram
Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter
إظهار المزيد7 290
المشتركون
-824 ساعات
-187 أيام
-4330 أيام
أرشيف المشاركات
7 290
Кастомная функциональность
Этот декоратор — это всего лишь пример того, как вы можете проверить некоторые разрешения совсем просто и на 100% настроить это так, как вам необходимо.
Представьте, что у вас есть блог, магазин, форум… Если у пользователей должно быть несколько очков активности, чтобы написать отзыв, это стало бы хорошим способом избежать спама. Мы создадим декоратор, чтобы проверить, что пользователь вошел в систему и имеет более 10 баллов, поэтому может написать отзыв, в противном случае мы не дадим ему сделать этого.
Подписывайтесь на канал 👉@pythonofff
7 290
Глубокое (полное) копирование
Глубокая копия создает новую и отдельную копию всего объекта или списка со своим уникальным адресом памяти. Это означает, что любые изменения, внесенные вами в новую копию объекта или списка, не будут отражаться в исходной. Этот процесс происходит следующим образом: сначала создается новый список или объект, а затем рекурсивно копируются все элементы из исходного в новый.
Короче говоря, оба объекта становятся полностью независимы друг от друга. Это похоже на концепцию передачи по значению в таких языках, как C ++, Java и C #.
Подписывайтесь на канал 👉@pythonofff
7 290
Получайте образование в «Российском новом университете»!
✅ Колледж, бакалавриат и специалитет, магистратура, аспирантура, дополнительное образование.
⚡ Очное, очно-заочное, заочное, дистанционное обучение.
🎓 Институты: гуманитарный; бизнес-технологий; экономики, управления и финансов; информационных систем и инженерно-компьютерных технологий; налоговый.
✨ Есть государственная аккредитация. Ведём приём также на бюджетные места.
Узнать больше
#реклама
rosnou.ru
О рекламодателе
7 290
Обработка строки
Полезные функции для работы со строками. Python известен тем, что можно написать код в одну строчку использованием метода вместо перебора списком.
Перечислим наиболее полезные методы:
capitalize() - первая буква большая, остальные маленькие
strip() - удаление пробелов в начале и конце
center(int, chr='') - отцентрирует текст, int - нужное кол-во символов в строке, а chr - символ для добавления в начало и конец
swapcase() - заглавные буквы в прописные, маленькие в большие
lower() - преобразует к нижнему регистру
upper() - преобразует к верхнему регистру
При написании нейронок и ботов обязательно приводите все к нижнему регистру с помощью lower(). При написании ботов часто использую center(), для красивого вывода.
Подписывайтесь на канал 👉@pythonofff
7 290
Возврат нескольких значений из функции
Python позволяет вам возвращать из функции несколько значений.
Для этого необходимо вернуть структуру данных, содержащую эти несколько значений. Например, список количества миль, которые надо пробежать за неделю.
Структура данных — контейнер, хранящий однотипные данные. Эти данные могут быть возвращены из функций. В этой статье мы узнаем, как возвращать несколько значений из структур вроде кортежа, списка и словаря.
Подписывайтесь на канал 👉@pythonofff
7 290
+5
Новые бесплатные курсы в канале Selectel Newsfeed.
Подойдут всем: от новичков до продвинутых айтишников.
Вас ждут обзоры, инструкции и статьи, которые помогут разобраться в темах структурно и последовательно.
Вступайте в сообщество IT-специалистов в Telegram от Selectel.
Подписаться
#реклама 16+
О рекламодателе
7 290
Регулярные выражения (REGEX)
Регулярные выражения — более гибкий способ нахождения подстрок в строках. В Python есть встроенный модуль, позволяющий работать с регулярными выражениями, — re. Модуль re содержит функцию search, которая позволит вам найти подстроку
Если вам нужны сложные сопоставления, например, учет регистра — этот метод подойдет вам лучше всего. Но у него есть и недостатки: сложность и скорость работы. То есть, в простеньких задачах его лучше не использовать.
Подписывайтесь на канал 👉@pythonofff
7 290
Просто используйте подписку на Кинопоиск и Музыку за 1₽
Ответьте на 1 вопрос и получите в подарок доступ к Кинопоиску, Музыке и Книгам на 30 дней за 1 рубль.
✨ Сервисы будут доступны не только для Вас, но и для трёх ваших близких
Попробовать
#реклама 18+
kinopoisk.ru
О рекламодателе
Реклама на Яндексе
7 290
Геттеры и сеттеры
В объектно-ориентированных языках распространено использование геттеров и сеттеров для безопасной работы с приватными полями. Например, в C# для этого есть удобная конструкция { get; set; }.
В Python геттер реализуется через декоратор
@property, а сеттер в виде @свойство.setter. В примере метод геттера называется age, поэтому декоратор сеттера – @age.setter.
Оба метода должны иметь одинаковое название, по которому можно будет обращаться как к обычному атрибуту.
Подписывайтесь на канал 👉@pythonofff7 290
Получи грант на обучение в Центральном университете
Центральный университет выдает гранты на 4 года обучения в бакалавриате.
Грант покрывает до 100% стоимости обучения. Участвуй в отборе, чтобы получить грант.
Получи доступ к уникальным активностям для абитуриентов. Для выпускников 10-х, 11-х классов и колледжей.
Подать заявку
#реклама
apply.centraluniversity.ru
О рекламодателе
7 290
Настройка вывода NumPy
Библиотека NumPy (Numerical Python) является одной из наиболее популярных библиотек для работы с массивами данных в Python. Она предоставляет множество удобных функций для работы с многомерными массивами, линейной алгеброй, случайными числами и многим другим. Однако, при выводе данных из массивов NumPy, форматирование может быть не самым удобным и красивым. Часто вывод выглядит не очень читабельно, особенно при большом количестве элементов.
Для управления выводом данных из массивов NumPy существует метод
set_printoptions(). Этот метод позволяет настроить различные параметры вывода данных, такие как количество отображаемых цифр после запятой, количество обрезаемых элементов в массиве, количество элементов в начале и в конце каждой размерности массива и другие.
import numpy as np
# Установка параметров вывода данных
np.set_printoptions(precision=4, threshold=5, edgeitems=2, linewidth=80, suppress=True, nanstr='NaN', infstr='inf')
# Пример массива NumPy
arr = np.array([1.23456789, 2.3456789, 3.456789, 4.56789, 5.6789, 6.789])
# Вывод массива с установленными параметрами
print(arr)
В приведенном примере мы импортируем библиотеку NumPy, устанавливаем параметры вывода с помощью метода set_printoptions() и создаем массив NumPy. Затем мы выводим этот массив с установленными параметрами, что позволяет нам контролировать форматирование вывода данных.
Используя метод set_printoptions() вы можете легко настроить вывод данных из массивов NumPy так, чтобы он соответствовал вашим потребностям и был более читабельным. Это особенно полезно при работе с большими массивами данных, когда важно иметь четкое представление о содержимом массива.
Подписывайтесь на канал 👉@pythonofff7 290
Вебинар по защите веб-приложений. UserGate WAF
Приглашаем вас на вебинар, где узнаете, какие задачи решает и как защищает веб-приложения от современных угроз — UserGate WAF.
✅На вебинаре вы узнаете:
- Какие задачи решает UserGate WAF.
- Как использование продукта поможет защитить ваши веб-приложения от современных угроз.
- О подходах к разработке продукта и формировании экспертизы в этой области.
⚡Регистрация на вебинар уже открыта.
Зарегистрироваться
#реклама 16+
webinar.usergate.com
О рекламодателе
7 290
Работа с argparse
Модуль argparse в Python предоставляет удобный и гибкий способ анализа аргументов командной строки. Он позволяет определять как позиционные, так и именованные аргументы, указывать значения по умолчанию, добавлять справочные сообщения для пользователей и многое другое. Этот модуль является предпочтительным выбором для работы с аргументами командной строки в Python благодаря своей простоте и мощности.
Для использования модуля argparse сначала необходимо импортировать его в свой скрипт. Далее, можно определить парсер аргументов и добавить к нему необходимые аргументы. Например, чтобы создать парсер с одним позиционным аргументом и одним именованным аргументом, можно написать следующий код:
import argparse
parser = argparse.ArgumentParser(description='Описание программы')
parser.add_argument('позиционный_аргумент', type=int, help='Справка для позиционного аргумента')
parser.add_argument('--именованный_аргумент', default='значение_по_умолчанию', help='Справка для именованного аргумента')
args = parser.parse_args()
print(args.позиционный_аргумент)
print(args.именованный_аргумент)
В данном примере мы создаем парсер аргументов, добавляем к нему один позиционный аргумент типа int и один именованный аргумент с значением по умолчанию. После парсинга аргументов мы можем обращаться к ним через объект args. Таким образом, модуль argparse упрощает и стандартизирует работу с аргументами командной строки в Python, делая код более читаемым и модульным.
Подписывайтесь на канал 👉@pythonofff7 290
Набор учеников 5-10 классов в школу программирования!
Московская школа программистов - это не курсы, а школа с государственной лицензией, которая обучает детей IT с 2001 года. Мы сотрудничаем с МФТИ, НИУ ВШЭ, Яндекс и Физтехпарк
Что получит ребенок, в результате обучения:
- Участие и победы в олимпиадах всероссийского и международного уровня
- Поступление в престижные технические вузы России и работу в известных IT-компаниях: Apple, Google, Yandex, Nvidia и других
- Практику на реальных IT-проектах
- Усидчивость, целеустремленность и умение работать в команде
- Сдача ЕГЭ/ОГЭ на высокие баллы
Фундаментальное IT-образование для школьников 5—10 классов в формате онлайн.
Обучение от лучших преподавателей, которое можно удобно вписать в любое время .
Позаботьтесь о том, чтобы ребенок стал востребованным IT-специалистом!
Перейти на сайт
#реклама 16+
online.informatics.ru
О рекламодателе
7 290
Используем collection.Counter ()
Это менее известный метод для получения количества вхождений элемента в любой контейнер в Python. Он также выполняет задачу, аналогичную описанным выше двум методам, просто является функцией другой библиотеки, т.е. collections.
Класс Counter() модуля collections - это подкласс словаря dict для подсчета хеш-объектов (неизменяемых, таких как строки, числа, кортежи и т.д.). Это коллекция, в которой элементы хранятся в виде словарных ключей, а их счетчики хранятся в виде значений словаря.
Счетчик может быть любым целочисленным значением, включая ноль или отрицательное число. Класс collections.Counter() похож на мультимножества в других языках программирования.
Подписывайтесь на канал 👉@pythonofff
7 290
Используем lambda, sum() и map()
Лямбда-функция в Python — это просто функция Python. Но это некий особенный тип с ограниченными возможностями.
Лямбда-функции вместе с sum() и map() также могут решить конкретно эту задачу подсчета общего числа вхождений определенного элемента в строку. Этот метод использует sum() для суммирования всех вхождений, полученных с помощью map().
Подписывайтесь на канал 👉@pythonofff
7 290
Получи грант на обучение в Центральном университете
Прояви себя, получи грант до 2,8 млн на обучение ИТ и бизнесу в вузе.
Для школьников 10-х и 11-х классов, СПО.
Подать заявку
#реклама
apply.centraluniversity.ru
О рекламодателе
7 290
Что делают OrderedDict и fromkeys()?
OrderedDict это словарь, который запоминает порядок вставки ключей. Если новое вхождение перезаписывает существующее вхождение, исходная позиция вставки остается неизменной.
fromkeys() создает новый словарь и возвращает список ключей. Ключи для нового словаря берутся из seq, а значения — из value (если заданы). Синтаксис метода fromkeys() — fromkeys(seq[, value]).
Параметры:
seq: Это список значений, которые будут использоваться при подготовке ключей для словаря.
value: Опционально; если задать, значение будет установлено в качестве value.
Подписывайтесь на канал 👉@pythonofff
7 290
Частичное применение
Сегодня поговорим об одном интересном концепте из области функционального программирования. Использовать будем функцию partial из стандартной библиотеки functools.
Предоставление функции меньшего количества аргументов, чем она ожидает, называется частичным применением функций.
Другими словами, это такая функция, которая принимает другую функцию с несколькими параметрами и возвращает функцию, но уже с меньшим количеством параметров.
Подписывайтесь на канал 👉@pythonofff
7 290
Ведем набор учеников 3-10 классов на новый учебный год!
Московская школа программистов - это не курсы, а школа с государственной лицензией, которая обучает детей IT с 2001 года. Мы сотрудничаем с МФТИ, НИУ ВШЭ, Яндекс и Физтехпарк
Что получит ребенок, в результате обучения:
- Участие и победы в олимпиадах всероссийского и международного уровня
- Поступление в престижные технические вузы России и работу в известных IT-компаниях: Apple, Google, Yandex, Nvidia и других
- Практику на реальных IT-проектах
- Усидчивость, целеустремленность и умение работать в команде
- Сдача ЕГЭ/ОГЭ на высокие баллы
Сейчас идет набор в виртуальный класс. В этом формате, дети в небольших группах обучаются с преподавателем онлайн в реальном времени.
Эффективно как очно.
Позаботьтесь о том, чтобы ребенок стал востребованным IT-специалистом!
Зарегистрироваться
#реклама 16+
vc.informatics.ru
О рекламодателе
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
