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

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

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

Канал сотрудничает с рекламным сервисом @Tgpodbor_official

РКН: clck.ru/3G6pBb
加入频道
Ограничение итераций

Ограничивать количество итераций нужно для того, чтобы хранить все значения в памяти до их итерирования. Это будет занимать слишком много памяти в некоторых сценариях. Типичная ситуация — чтение строчек из файла.
Итерируемые объекты

В Python итерируемый объект — это объект, над которым производятся так называемые проходы (итерации). Например, как в цикле for.
Большинство наборных структур данных являются итерируемыми объектами. Это списки, кортежи, наборы. Например, ниже мы создаём список и проходимся по его элементам по очереди.
Yield

Другой способ создать generator — использовать функцию генератора. Мы берём ключевое слово yield, чтобы вернуть generator в функции.
Давайте посмотрим, как сработает эта функция на fib, где возвращается generator с n числами Фибоначчи. 
Поток данных

С генератором мы создадим структуру данных с бесконечным количеством элементов. Этот вид последовательности элементов данных называется в информатике потоком данных (или “стрим”). С его помощью мы можем выражать концепции бесконечных последовательностей математическими методами. 
Декораторы в Python: Способ разделения задач

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

Мы можем сами определить декораторов. А также есть множество замечательных встроенных декораторов, готовых к использованию.

Например, статические методы в классе Python не привязаны к экземпляру или классу. Они включены в класс просто потому, что они логически принадлежат ему.
Размещение вашего скрипта на Python на Ubuntu-инстансе

Мой любимый метод закачки скрипта на Python на инстанс Ubuntu — это использовать Git.

Если есть конфигурационные файлы, которые нужны на вашем Ubuntu-инстансе, и вы не хотите хранить их на github, для переноса пользуйтесь Amazon S3.
Установка Python3.7 и PIP

Для установки Python и PIP я бы рекомендовал пользоваться веб-SSH через дашборд Lightsail.

А в папке репозитория выполните следующую команду. Она запустит код, приведённый ниже и установит Python3.7 вместе с PIP.
Установка библиотек Python

Следующим шагом установите питоновские библиотеки praw и pandas. Запустите серийный файл python_libraries.sh.

Praw — это враппер для API Python reddit.

Pandas — для манипуляций с данными и их анализа.
Списковое включение: Создайте список в одной строке кода

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

Со списковым включением мы можем поместить циклы for и условия if в одну строку кода для создания списка на Python:
Настройка службы Cron

Программная утилита Cron — это планировщик времени запуска служб в компьютерных ОС наподобие Unix. Пользователи, которые занимаются установкой и поддержкой программных окружений, пользуются Cron для планирования служб (команд или скриптов оболочки). Они запускают их периодически в определённое время, дни или другие интервалы. Это типичная автоматизация системной поддержки или администрирования, тем не менее природа общего назначения этого ПО делает его полезным для таких вещей, как скачивание файлов из интернета и загрузка почты через равные интервалы.
Создание задания Cron

Настройте редактор на значение vim при помощи такой команды. Войдите в Vim и отредактируйте службы Cron. В этой точке Vim запустится, а вы сможете вносить изменения в свои службы Cron.
Автоматизация скриптов на Python при помощи AWS Lightsail

Теперь вы закончили и ваш скрипт будет запускаться с интервалом, определённым в службе Cron. 

Если хотите проверить их, можете запустить командный crontab -l. Так вы увидите текущие службы Cron.
5 ошибок Python-разработчиков, которые выдают новичка. Давайте понятные имена функции и переменным

Бывает обратная ситуация, когда название становится слишком длинным, чтобы вынести всю логику. Например, произвольная функция может быть существенно упрощена несколькими способами.
5 ошибок Python-разработчиков, которые выдают новичка. Неряшливость в коде

Это не только код по PEP, сколько отсутствие видимой логики и структуры в коде.

Главное, что надо всегда помнить, что код должен быть в первую очередь читаемым, а в идеале — еще и понятным. Тут нет предела совершенству, но в целом есть несколько простейших рекомендаций, которые позволят избежать даже не ошибок, сколько нелепых небрежностей.
Как преобразовать Word, Excel и PowerPoint в PDF в Python. Установите необходимые зависимости

Это решение опирается на Spire.Office for Python, который представляет собой комбинацию Spire.Doc for Python, Spire.XLS for Python, Spire.Presentation for Python и Spire.PDF for Python.

Как следует из названия, они представляют собой модули для обработки документов Word, Excel, PowerPoint и PDF соответственно.
5 ошибок Python-разработчиков, которые выдают новичка. Слабые знания СУБД

Джуна могут взять без опыта или знаний работы с СУБД, но в целом полезно знать, для чего обычно используется та или иная база данных, какие лучше использовать и в каких случаях.
Преобразование Excel XLS или XLSX в PDF в Python

Пользователи могут использовать метод Workbook.LoadFromFile(), предоставляемый Spire.XLS for Python, для загрузки файла XLS или XLSX.

Затем укажите настройки преобразования через свойства объекта Workbook.ConverterSetting.

После этого вся рабочая книга может быть преобразована в PDF с помощью метода Workbook.SaveToFile().
Преобразование Word Doc или Docx в PDF в Python

Spire.Doc for Python предоставляет метод Document.LoadFromFile(), который позволяет пользователям загрузить файл Doc или Docx.

После этого можно выполнить преобразование в PDF с помощью метода Document.SaveToFile(string filename, ToPdfParameterList parameter).
Преобразование PowerPoint PPT или PPTX в PDF в Python

Преобразование из PowerPoint в PDF также довольно просто.

Просто используйте метод Presentation.LoadFromFile() для загрузки файла PPT или PPTX, а затем конвертируйте его в PDF с помощью метода Presentation.SaveToFile().
Синтаксис append() в Python

В этом примере:
1 Создаётся список my_list с элементами 1, 2, 3.
2 Метод append() добавляет элемент 4 в конец списка.
3 Вывод my_list показывает, что новый элемент успешно добавлен в конец списка.