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

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

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

Канал сотрудничает с рекламным сервисом @Tgpodbor_official
Download Telegram
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 июня пройдет открытый вебинар, на котором можно будет задать вопросы и познакомиться с преподавателями. Записывайся!)
Стеки

Стек — абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»).

Методы встроенного списка в Python позволяют очень легко использовать список в виде стека. Чтобы добавить элемент на вершину стека, используйте append(). Чтобы извлечь элемент из верхней части стека, используйте pop() без явного индекса.

Кажется, что это не пригодится, но многие задачи хорошо решаются через pop, а главное, junior обязан знать такой простой способ и его применение. На собеседовании может встретится.

#list
Пасхалки

В Python много так называемых «пасхалок» — секретов в программном обеспечении, заложенных создателями. Если в Python запустить команду

 antigravity

откроется веб-браузер с классическим комиксом XKCD, в котором упоминается Python. Но разработчики Python на этом не остановились: внутри пасхалки есть еще одна пасхалка.

Если вы посмотрите на код, то увидите, что в нем определена функция, предназначенная для реализации алгоритма геохеширования XKCD.

В Python много таких секретов от разработчиков: попробуйте, например, запустить команды import this или from __future__ import braces. Если не поняли в чем суть последнего попробуйте поменять braces на что-то другое.