Python обучающий
62.3K subscribers
813 photos
7 videos
408 links
Здесь есть всё, чтобы упростить изучение Python. Без воды и сложных терминов.

Сотрудничество: @bateman24, @justcage

Работаем с @Tgpodbor_official

Ссылка РНК: https://clck.ru/3Ghwjd
加入频道
Пары словаря как переменные

Для работы со словарями, часто использующаяся операция — разбор словаря в пары переменных ключ - значение.

Это легко сделать с помощью цикла, имея при этом короткое и элегантное решение проблемы.

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

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

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

Еще один прием для сборки словаря из имеющихся значений. В примере показываем, как сгруппировать два массива в единый словарь для дальнейшей обработки.

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

Самый простой и классический способ отладки — ставить print() для монитора значений переменных и контроля выполнения программы.

В современных IDE мы можем ставить так называемые breakpoint, точки специальной остановки выполнения программы. Это позволяет в моменте разобрать текущее состояние программы, значения переменных и так далее.

В Python есть библиотека отладки pdb, позволяющая делать остановки и запускать интерактивную консоль походу выполнения файла.

Документация
Передаем функцию в качестве аргумента

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

Мы просто передадим в функцию обработки нужный алгоритм и дело в шляпе!
Лямбда выражения

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

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

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

Так можно лаконично упаковывать множество простых алгоритмов.
Декораторы

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

Декораторы, как вопрос, встречаются почти на каждом собеседовании это крайне важный аспект языка.
Множественное присваивание

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

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

К примеру, мы увеличили кол-во аргументов функции с двух до трех двумя строчками, совершенно не трогая основной функционал.
​​Спешите присоединиться к бесплатному онлайн-интенсиву по Python-разработке 13–15 сентября в 21:00 по московскому времени! Познакомитесь с востребованным языком программирования, узнаете, как работают «умные» чат-боты и виртуальные ассистенты ⚙️

Подробная программа: ▶️ https://clc.to/4p9dug.

✔️ Познакомитесь с основами программирования на Python.
✔️ Узнаете, что такое NLU и как компьютер понимает естественную речь.
✔️ Разберёте архитектуру «умных» чат-ботов.
✔️ Создадите чат-бота, научите его говорить и подключите к Telegram.

🔥 Спикер интенсива: ведущий исследователь данных (NLP) в Сбербанке — Николай Герасименко.

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

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

Функция факториала наглядно отражает принцип рекурсии, когда для вычисления следующего значения нужен результат предыдущего.
​​Не знаете языки программирования, но есть огромное желание работать в IT?

Тогда начните с чего-то попроще, например, с профессии тестировщик. Для старта в которой не обязательно иметь техническое образование и навыки программиста, а зарплаты таких специалистов от 50 до 300 тысяч рублей.

Освоить эту профессию можно на курсе «Тестировщик ПО» от SkillFactory. Обучение в формате симулятора поможет вам сразу окунуться в атмосферу, подготовиться к реальным жизненным задачам в тестировании и брать первые заказы на фрилансе еще во время обучения. А после освоения базовых навыков, вы изучите основы программирования и автоматизацию тестирования с помощью Python.

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

⚠️ Оставь заявку и узнай все подробности по ссылке — https://clc.to/wTzE6w
Проверяем вхождение подстроки

Полезный механизм при работе с текстом, особенно в семантическом анализе. При работе с большими объемами и классификацией текста.

В примере мы реализуем проверку наличия подстроки в строке коротким и лаконичным способом.
Распаковываем массив в вывод

Прочитали файл построчно, поместили в массив. Здорово бы было его красиво вывести, без лишних символов. На помощь приходит простейший прием для красивой распаковки итерируемого объекта в вывод.
3D Игры в Python

Мы рассказывали о множестве библиотек для создания простых и сложных игр на Python. И некоторые из них даже могли похвастаться трехмерным пространством. Однако серьезный инструмент для разработки 3D игр у нас еще не бывал.

Panda 3D Game Engine — открытый фреймворк для разработки игр на различные платформы, написанный на C++. В качестве скриптового языка программирования можно использовать Pyhton. Это превращает его в серьезный инструмент для создания игр.

Часто бывает, что человек знает Python, но очень хочет уйти в разработку игр. Библиотеки кажутся неполноценными, но вот тут то и приходит наш движок. Знаний питона достаточно чтобы начать его использовать. Более того, фреймворк имеет модульную структуру, что позволяет вам встроить в свое приложение одну из его фишек. Например, 3D визуализацию модели.

Ознакомиться, пощупать однозначно стоит. Документация подробная и движок довольно прост в освоении.
Генераторы списков

Для исходных данных различных задач мы часто составляем набор списков. Там где можно автоматизировать, нужно автоматизировать. Генераторы списков очень интересная особенность языка. Позволяет максимально коротко и просто сформировать необходимый список значений.

Причем, сложность и необходимый результат зависит только от вас.
Как быстро выучить Python

Но кто-то учит Python 3 года, а кто-то справляется за пару месяцев. А всё потому что Python надо учить правильно.

Поэтому собрали для вас подборку материалов, в которых авторы делятся своим опытом, секретами, фишками и лайфхаками для быстрого изучения Python. Дерзайте.

1. Как выучить Python. Самый простой способ. [Cмотреть]

2. План изучения Python с нуля. [Смотреть]

3. Как быстро выучить Python. [Смотреть]

4. 5 лучших советов, которые помогут правильно выучить Python. [Смотреть]

5. Как за месяц выучить Python. [Смотреть]

6. Учим Python за 1 час. [Смотреть]
Правильное копирование объекта

В Python, если мы приравняем один массив другому, новому передастся ссылка на старый. Что значит, что если мы изменим значение в старом, в новом оно также изменится. Для того, чтобы получить независимую копию, необходимо использоваться специальную функию copy().

В примере показано подобное взаимодействие.
Проверка возможности вызова

Поговорим о возможности вызова того или иного объекта. Для проверки возможности вызова воспользуемся встроенной функцией callable. Она возвращает True или False в зависимости от объекта. Под вызовом подразумеваются ( ).