Python School
92.1K subscribers
2K photos
5 videos
554 links
Уроки по Python, которые упростят вам жизнь. Без идиотских туториалов.

Наши мемы для программистов: @conhum

Сотрудничество - @alivian

Канал сотрудничает с рекламным сервисом @Tgpodbor_official
Download Telegram
Важные методы в Python, которые должен знать каждый питонист. Мы уже рассказывали про некоторые из них. Соберем на этот раз побольше и заодно освежим память.

abs() - возвращает модуль переданного параметра.

all() - функция возвращает значение True, если все элементы в итерируемом объекте - истинны. В противном случае, она возвращает значение False.

any() - функция возвращает True, если какой-либо (любой) элемент в итерируемом объекте является истинным True. В противном случае, any() возвращает значение False.

ascii() - возвращает строку, содержащую печатное представление объекта, и экранирует символы, отличные от ASCII, в строке с помощью экранирования \ x, \ u или \ U.

bin() - функция преобразует целое число в двоичную строку с префиксом 0b.
bool() - возвращает False, если значение объекта 0, в противном случае возвращает True.

eval() - это встроенная функция, используемая в Python. Функция eval анализирует аргумент выражения и оценивает его как выражение python. Проще говоря, функция eval оценивает «String» как выражение Python и возвращает результат.

exec() - встроенная функция похожая на eval, но она полностью выполняет код находящийся внутри. Ее использование может быть не безопасно. К примеру при запуске неизвестного кода. Старайтесь учитывать этот момент.

hash() - возвращает целое являющееся хешем объекта. Хеш используется, в частности, для быстрого сравнения ключей при поиске по словарям.

help() - функция предназначена для вывода документации, подробно разбирали в другом посте.
Flask

Мы уже рассказывали об этом простом фреймворке для создания сайтов. Ранее говорилось, что сильный минус - отсутствие асинхронности. Но недавно (12 мая) вышла новая версия — Flask 2.0

Все новые особенности:
- Прекращена поддержка Python версии 2. Минимальная версия Python 3.6
- Поддержка асинхронных view и других обратных вызовов
- Добавлено изменение к декораторам:
@app.post ("/ login") == @ app.route ("/ login", methods = ["POST"])
- Новая функция Config.from_file для загрузки конфигурации из файла любого формата.
- Команда flask shell включает завершение табуляции, как это делает обычная оболочка python.
- При обслуживании статических файлов браузеры будут кэшировать на основе содержимого, а не на основе 12-часового таймера. Это означает, что изменения статического содержимого, такого как стили CSS, будут немедленно отражены при перезагрузке без необходимости очистки кеша.

Наконец-то.
Серверные приложения на Kotlin — это как на Java, но быстрее и удобнее.

Как использовать этот язык для создания бэкенда?
Получите все необходимые навыки за 5 месяцев на практическом онлайн-курсе «Kotlin Backend Developer» от Otus:
— Изучите возможности и фреймворки Kotlin
— Сможете использовать корутины для асинхронного программирования
— Погрузитесь в тонкости разработки бэкенда
— Освоите востребованные инструменты Cassandra, AWS, ELK-stack и т.д.
— Реализуете 3 своих серверных приложения

После обучения вы сможете разрабатывать очень сложные бэкенд-проекты и овладеете профессиональными навыками, которые необходимы если вы нацелены дорасти до тим лида.

🔥 Успейте занять место со скидкой -20% https://otus.pw/KVjv/
Базы Данных SQL

Осталось несколько важных моментов про sqlite (а вот и предыдущий пост об этом). Например, про обновление данных в таблице и собственно получение.

На языке SQL чтобы обновить таблицу мы используем подобный синтаксис:
 table 
SET name = 'new name'
WHERE id = 1

Разумеется, обновить мы можем несколько значений за один запрос и искать не по id, а, например, по названию. Для запроса на получение указываем SELECT, когда запрос выполнен методом fetchall() для получения всех результатов.

В SQL есть команда похожая на пайтоновский in - LIKE.

Внимание! Часто при получении данных последний элемент может быть пустым, рекомендуем делать проверку.

#Базы_Данных #SQL
У тебя уже есть базовые навыки программирования и ты планируешь дальше развиваться в IT? Попробуй освоить DevOps, познакомься с понятиями Docker, CI и Kubernetes за 3 дня на бесплатном онлайн-интенсиве: 🔜 https://clc.am/dCdyyA.

Твоим наставником будет Владимир Утратенко — engineering manager в «Сравни.ру», соорганизатор сообщества DevOps Moscow и конференции DevOpsDays Moscow.

Ты научишься:
✔️ разбираться в DevOps-инженерии;
✔️ собирать контейнер с приложением;
✔️ запускать его при помощи Docker-compose;
✔️ настраивать непрерывную интеграцию (CI);
✔️ работать с сервисом Kubernetes.

🎁 Всем участникам интенсива подарим электронную книгу Кей Петерсон и Дэвида Колба «Век живи — век учись» издательства МИФ. А все, кто сдаст домашнюю работу, получат сертификат на 15 000 рублей на любой курс Skillbox.

Используй свой шанс! Ждём тебя в прямом эфире 24–26 мая в 19:00 по московскому времени!
Функция sum()

Как бы вы решили задачу получения суммы элементов списка без обхода элементов в цикле?

Это можно сделать с помощью стандартной функции sum().

Cинтакс функции sum():
 start)

Параметры sum():
iterable - итерируемые типы (list ,dict, tuple, и.т.д.)
start - (необязательно) значение этого параметра прибавляется к уже готовой сумме элементов iterable. По умолчанию значение этого параметра 0.

Возвращаемое значение из sum():
sum() возвращает сумму start и элементов всех последующих элементов.
Практика атак и защиты сетей при супер-базовых знаниях в ИБ — это возможно?

Команда практикующих ИБ-спецов создали серию интенсивов для начинающих специалистов, которые хотять получить новые знания и грамотную Roadmap.

Уже 1 июня пройдёт заключительный интенсив Кибербезопастность: Level 0 — участие доступно со скидкой 50%

Интенсив гарантированно поможет разобраться:

— С чего начинается эффективная система информационной безопасности
— Принципы осуществления кибератак и построения защиты
— Как работать с системами обнаружения и предотвращения вторжений (IDS/IPS)

Десятки студентов всего за 3 дня занятий онлайн уже получили готовую базу навыков, сертификаты и бонусы от HackerU.

Бронируйте места в учебной группе уже сейчас со скидкой 50% по ссылке: https://is.gd/FGEprX
Mодуль cmath

Функции в математическом модуле стандартной библиотеки Python обрабатывают числа с плавающей запятой. Для комплексных чисел библиотека Python содержит модуль cmath.

📌Функция polar():
Эта функция возвращает полярное представление декартовой записи комплексного числа. Возвращаемое значение - это кортеж, состоящий из модуля и фазы.

📌Функция phase():
Эта функция возвращает угол против часовой стрелки между осью x и сегментом, соединяющим точку с исходной точкой. Угол представлен в радианах и находится между π и -π.

📌Функция rect():
Эта функция возвращает декартово представление комплексного числа, представленного в полярной форме, то есть по модулю и фазе.

📌Функция sin():
Эта функция возвращает тригонометрическое соотношение синуса фазового угла, представленного в радианах.
Начните свой отпуск правильно!
Пока все остальные отдыхают, у вас есть фора — SF Education сделали цены ниже, чтобы вы могли выгодно инвестировать в себя.

Запишитесь на курсы по финансам, менеджменту и техническим навыкам со скидкой до 65% и за лето измените свою жизнь: освойте профессию, прокачайте новые навыки, получите повышение.

Для подписчиков канала мы собрали специальную подборку программ:
⁃ программа «Бизнес-аналитик»
⁃ курс «Excel Аcademy»
⁃ курс «Data Science academy»

На все курсы действуют:
⁃ сashback 7% + скидка 5% при оплате картой банков-партнеров
⁃ Возврат 15% стоимости курса для 20 лучших студентов
⁃ беспроцентная рассрочка от банков-партнеров
⁃ вычет 13% НДФЛ на обучение

Ловите волну успеха вместе с SF Education → регистрация
Методов списков list

Напоминаю, списки в Python – упорядоченные последовательности элементов различных типов данных. Списки можно изменять, например, добавлять новые элементы.

1. list.append(x) – добавляет элемент, переданный в качестве аргумента, в конец списка. Этот метод является самым простым и распространённым в коде.

2. list.insert(i, x) – вставляет элемент в переданную позицию. Первый аргумент означает индекс элемента, перед которым будет добавлено новое значения.

Таким образом, list.insert(0, x) вставит элемент в начало списка, а list.insert(len(list), x) эквивалентно записи list.append(x).

3. list.extend(iterable) – расширяет список, добавляя все элементы другой коллекции.
От написания кода до релиза — DevOps-инженер все держит под контролем! Поэтому спрос на этих специалистов всего лишь за 2 года вырос на 70%

Хочешь освоить по-настоящему востребованную профессию? Образовательная платформа GeekBrains открывает набор на Факультет DevOps

Даже если вы никогда не работали в IT, вы получите востребованную и высокооплачиваемую специальность. Сможете использовать методологии Agile и Scrum, оптимизировать CI/CD и работать с облачными технологиями.

18 месяцев обучения, 4 полноценных проекта в портфолио, качественное резюме, диплом гособразца о переподготовке и помощь в трудоустройстве — и это все в сопровождении с топовыми экспертами-практиками, которые поделятся личным опытом и ответят на любые ваши вопросы.

Первый платеж за обучение можно совершить через 6 месяцев. Скорее регистрируйтесь, ведь сейчас на курс действует скидка 35% → https://gb.ru/link/HY1skq
Сегодня будет день чистой практики.

Посмотрели туториал — повторили — запустили — profit!

1. Простейший web сервер на Python. Смотреть.
2. Как узнать, что скачивает человек, по его IP. Смотреть.
3. Голосовой ассистент - разбор кода. Смотреть.
4. Голосовой ассистент на Python - добавляем навыки. Смотреть.
5. Голосовой ассистент на Python. Смотреть.
6. Чат-бот на Python + Dialogflow. Смотреть.
Методы list в Python

Во время собеседования на вакансию
python-разработчика очень часто звучат вопросы про списки и их методы.
Мы собрали для вас часть этих методов.

1. append() - добавляет элемент в конец списка.

2. clear() - удаляет все элементы из списка

3. copy() - делает поверхностную копию списка. Почему нужно пользоваться именно этим методом, а не присваиванием мы разбирали в другой статье.

4. count() - считает, сколько раз в списке встречается переданный аргумент.

#list
This media is not supported in your browser
VIEW IN TELEGRAM
Хочешь погрузиться в атмосферу Data Science и завести полезные знакомства? Приходи на бесплатный ODS Meetup at Elbrus Bootcamp, который пройдет 31 мая в 19:00 по Мск.

ML-инженеры из института Сколтех и биотехнологической компании Biocad выступят с докладами:
💥 Гайд для контрибьютора PyTorch: как, а главное зачем?
💥 Алгоритмы и приложения, помогающие химикам создавать медикаменты

В перерывах между спикерами будет много нетворкинга!🔥 Так что не упусти возможность познакомиться с единомышленниками и обзавестись полезными контактами.

Приходи на встречу в московском кампусе или присоединяйся к онлайн-трансляции. Meetup подходит как для новичков, так и специалистов, которые хотят развиваться и обмениваться опытом с коллегами.

Регистрируйся по ссылке: https://clck.ru/V8h73 Количество мест ограничено!

Ждем тебя на встрече или в прямом эфире 31 мая в 19:00 🚀
Библиотека Numpy

Преимущество и зачем использовать разобрали в предыдущем посте. Теперь углубим свои знания, а позже расскажем про pandas и интеграции с SQL.
Библиотеку требуется установить:

 install numpy

Для создания массива можно использовать методы array или empty. А вместо знакомого range() присутствует более быстрый arange.

Но помните, что использовать данный метод с типом float нужно осторожно из-за ограничения точности чисел с плавающей запятой. Обычно его заменяют методом linspace, который принимает не шаг, а кол-во нужных элементов.

#numpy
Функции map(), filter() и reduce() используют, чтобы привнести в Python немного функционального программирования.

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

1. map() - функция map перебираeт все элементы в данном итеративном объекте и выполняeт функцию, которую мы передали в качестве аргумента для каждого из них.

2. filter() - Подобно map(), filter() принимает объект функции и итерацию и создает новый список. Как следует из названия, filter() формирует новый список, содержащий только элементы, удовлетворяющие определенному условию.

3. reduce() - reduce работает иначе, чем map() и filter(). Он не возвращает новый список, основанный на функции и итерации, которые мы передали.
Вместо этого он возвращает одно значение. На картинке мы приводим пример сложения чисел. Но это самое простейшее. Можно перемножать, возводить в квадрат и многое другое (и не обязательно с числами).

#iterators
Илон Маск теперь в Телеграм!

Железный человек 21 века, колонизатор Марса, создатель Tesla, основатель PayPal, инженер гражданского огнемета, отправитель первого туриста на Луну.

Канал посвящённый гению, миллиардеру, плейбою и филантропу: @ElonMusk
List Comprehensions

Удаление элемента из списка во время его итерации – это проблема, которая хорошо известна любому опытному разработчику.

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

Одна из таких парадигм – list comprehensions. Генераторы списков часто используют именно для решения подобных проблем, что и показывает реализация кода.

Заметьте, что в примере "забывается" старый список и на его месте появляется новый.

#list
Уже работаешь junior-питонистом и хочешь расти дальше?

Отлично, тогда эта информация для тебя. Компания KTS запускает новый курс «Продвинутый Backend на Python» в своей школе.

KTS занимается разработкой веб-сервисов для крупных компаний: сбер, х5 retail group, ПИК, Mail, VK и других. На курсе преподаватели поделятся опытом создания сложных систем и рассмотрят такие нетривиальные темы, как многопоточность, асинхронность в python и асинхронные веб-фреймворки и много другое.

Курс будет проходить оффлайн в офисе компании для максимального погружения в рабочий процесс, но записи тоже будут доступны. У тебя будет свой ментор, который будет проводить ревью кода и с которым ты будешь делать выпускной проект для портфолио. А самое главное - в случае хорошо написанного проекта после курса можно устроиться работать в KTS и компания полностью компенсирует средства на обучение!

Все подробности по ссылке: https://metaclass.kts.studio/backend


P.S. 2 июня пройдет открытый вебинар, на котором можно будет задать вопросы и познакомиться с преподавателями. Записывайся!)