Простая обрезка изображения в Pillow
Обозначим область обрезки изображения с помощью кортежа box=(left, upper, right, lower).
Верхней левой координате соответствует (x, y) = (left, upper), а нижней правой — (x, y) = (right, lower). Область, которую нужно обрезать — left <= x <right и upper <= y <lower, а пиксели x = right и y = lower не включаются.
Не забудьте, что box используется вместе со скобками ().
Обозначим область обрезки изображения с помощью кортежа box=(left, upper, right, lower).
Верхней левой координате соответствует (x, y) = (left, upper), а нижней правой — (x, y) = (right, lower). Область, которую нужно обрезать — left <= x <right и upper <= y <lower, а пиксели x = right и y = lower не включаются.
Не забудьте, что box используется вместе со скобками ().
С 4 по 9 апреля Skillbox проводит серию бесплатных вебинаров по программированию!
Вы познакомитесь с востребованными в 2022 году и прибыльными IT-профессиями,
попробуете себя в разных направлениях на практике. Пополните портфолио и получите электронный сертификат, который усилит резюме и подтвердит ваши знания.
Регистрируйтесь: https://clc.to/LfpFkw.
На онлайн-конференции вы изучите:👇
✔️ программирование на Python;
✔️ Java-разработку;
✔️ 1C-разработку;
✔️ data science.
🔥 Пообщаетесь в прямом эфире с ведущими разработчиками и директорами Сбербанка, SymbioWay и SlavVer. Спикеры поделятся актуальными знаниями и расскажут, как за 3 месяца начать зарабатывать от 120 тысяч рублей.
🎁 Зарегистрируйтесь и получите подборку полезных материалов по программированию. Тем, кто будет онлайн на вебинарах, — дополнительная скидка 10 000 рублей на любой курс Skillbox. После конференции каждый получит подарки — безлимитный доступ к платформе изучения английского языка на 3 месяца и полезную литературу издательства МИФ.
Присоединяйтесь!
Вы познакомитесь с востребованными в 2022 году и прибыльными IT-профессиями,
попробуете себя в разных направлениях на практике. Пополните портфолио и получите электронный сертификат, который усилит резюме и подтвердит ваши знания.
Регистрируйтесь: https://clc.to/LfpFkw.
На онлайн-конференции вы изучите:👇
✔️ программирование на Python;
✔️ Java-разработку;
✔️ 1C-разработку;
✔️ data science.
🔥 Пообщаетесь в прямом эфире с ведущими разработчиками и директорами Сбербанка, SymbioWay и SlavVer. Спикеры поделятся актуальными знаниями и расскажут, как за 3 месяца начать зарабатывать от 120 тысяч рублей.
🎁 Зарегистрируйтесь и получите подборку полезных материалов по программированию. Тем, кто будет онлайн на вебинарах, — дополнительная скидка 10 000 рублей на любой курс Skillbox. После конференции каждый получит подарки — безлимитный доступ к платформе изучения английского языка на 3 месяца и полезную литературу издательства МИФ.
Присоединяйтесь!
Примеры использования модуля os в Python
os.chdir() и os.getcwd()
Функция os.chdir позволяет нам вносить изменения в каталоге, который мы в данный момент используем в сессии. Если вам нужно знать, какой путь вы в данный момент используете, для этой нужно вызвать os.getcwd(). Указанный код демонстрирует нам, что мы открыли директорию по умолчанию в Пайтоне, после запуска данного кода в IDLE. После этого мы изменили папки, при помощи os.chdir().
os.chdir() и os.getcwd()
Функция os.chdir позволяет нам вносить изменения в каталоге, который мы в данный момент используем в сессии. Если вам нужно знать, какой путь вы в данный момент используете, для этой нужно вызвать os.getcwd(). Указанный код демонстрирует нам, что мы открыли директорию по умолчанию в Пайтоне, после запуска данного кода в IDLE. После этого мы изменили папки, при помощи os.chdir().
Начните свой путь в Data Science! Присоединяйтесь к прямым трансляциям с 4 по 6 апреля в 21:00 по московскому времени. В роли спикера выступит руководитель направления по исследованию данных в Сбере с семилетним опытом в программировании — Анастасия Борнева.
🔸Записывайтесь на бесплатный онлайн-интенсив по анализу данных: 👉 https://clc.to/sz0nQw.
Чему вы научитесь:
📎 находить аномалии, выявлять ложные зависимости и выделять главные факторы в моделях данных;
📎 визуализировать и анализировать данные с помощью Python-библиотек;
📎 автоматизировать решение бизнес-задач с помощью искусственного интеллекта и машинного обучения.
🎁 Все участники при регистрации получат чек-лист с информацией о том, чем занимается специалист по DS, где он может работать, какие знания и навыки ему нужны, а также где новичку найти первые проекты. Дошедшие до финала интенсива получат в подарок электронную книгу Пола Доэрти и Джеймса Уилсона «Человек + машина» издательства МИФ. А каждый, кто сдаст практическую работу, — сертификат на 10 тысяч рублей на любой курс образовательной платформы Skillbox.
Присоединяйтесь к прямым эфирам 4–6 апреля в 21:00 по московскому времени!
🔸Записывайтесь на бесплатный онлайн-интенсив по анализу данных: 👉 https://clc.to/sz0nQw.
Чему вы научитесь:
📎 находить аномалии, выявлять ложные зависимости и выделять главные факторы в моделях данных;
📎 визуализировать и анализировать данные с помощью Python-библиотек;
📎 автоматизировать решение бизнес-задач с помощью искусственного интеллекта и машинного обучения.
🎁 Все участники при регистрации получат чек-лист с информацией о том, чем занимается специалист по DS, где он может работать, какие знания и навыки ему нужны, а также где новичку найти первые проекты. Дошедшие до финала интенсива получат в подарок электронную книгу Пола Доэрти и Джеймса Уилсона «Человек + машина» издательства МИФ. А каждый, кто сдаст практическую работу, — сертификат на 10 тысяч рублей на любой курс образовательной платформы Skillbox.
Присоединяйтесь к прямым эфирам 4–6 апреля в 21:00 по московскому времени!
Примеры использования модуля os в Python (ч. 2)
os.path.join
Метод join позволяет вам совместить несколько путей при помощи присвоенного разделителя. К примеру, в Windows, в роли разделителя выступает бэкслэш (косая черта, указывающая назад), однако в Linux функция разделителя присвоена косой черте, указывающей вперед (forward slash). В данном примере мы совместили путь каталога и файла вместе, для получения рабочего пути. Обратите внимание на то, что метод join не указывает на то, какой результат в итоге вышел.
os.path.join
Метод join позволяет вам совместить несколько путей при помощи присвоенного разделителя. К примеру, в Windows, в роли разделителя выступает бэкслэш (косая черта, указывающая назад), однако в Linux функция разделителя присвоена косой черте, указывающей вперед (forward slash). В данном примере мы совместили путь каталога и файла вместе, для получения рабочего пути. Обратите внимание на то, что метод join не указывает на то, какой результат в итоге вышел.
Прокачайте знания SQL и навыки работы с базами данных! Узнайте всё о профессии SQL-разработчика на бесплатном онлайн-интенсиве Skillbox. Подключайтесь к прямым эфирам 7–9 апреля в 21:00 по московскому времени: 👉 https://clc.to/iuar-w.
За 3 дня:
● научитесь работать с базами данных — и получите навык, необходимый каждому программисту;
● поймёте, как оптимизировать рутинные задачи при помощи SQL-запросов;
● прокачаете навыки работы с SQLiteStudio;
● узнаете, как стать более востребованным специалистом.
Спикер интенсива — специалист по анализу данных, сертифицированный SQL-разработчик Microsoft Мкртич Пудеян.
🎉 Все участники получат электронную книгу издательства МИФ. А те, кто сдаст практическую работу, — сертификаты на 10 тысяч рублей на любой курс Skillbox.
Присоединяйтесь!
За 3 дня:
● научитесь работать с базами данных — и получите навык, необходимый каждому программисту;
● поймёте, как оптимизировать рутинные задачи при помощи SQL-запросов;
● прокачаете навыки работы с SQLiteStudio;
● узнаете, как стать более востребованным специалистом.
Спикер интенсива — специалист по анализу данных, сертифицированный SQL-разработчик Microsoft Мкртич Пудеян.
🎉 Все участники получат электронную книгу издательства МИФ. А те, кто сдаст практическую работу, — сертификаты на 10 тысяч рублей на любой курс Skillbox.
Присоединяйтесь!
Оператор except
finally предназначен для определения “действий очистки”. Предложение finally выполняется в любом случае перед тем, как оставить оператор try, произошло ли исключение или нет.
Оператор finally очень прост в использовании. Если вы запустите это код, оно отобразиться и в операторе except и в finally. Весьма просто, не так ли? Теперь вы можете использовать оператор finally, чтобы убрать за собой. Вы можете также вписать код exit в конце оператора finally.
finally предназначен для определения “действий очистки”. Предложение finally выполняется в любом случае перед тем, как оставить оператор try, произошло ли исключение или нет.
Оператор finally очень прост в использовании. Если вы запустите это код, оно отобразиться и в операторе except и в finally. Весьма просто, не так ли? Теперь вы можете использовать оператор finally, чтобы убрать за собой. Вы можете также вписать код exit в конце оператора finally.
Встроенный список
Мы можем использовать обычный список в качестве очереди, но это не очень эффективно с точки зрения производительности. Списки слишком медленные для этой задачи, так как вставка и удаление элемента с начала требует сдвига всех прочих элементов по одному, на это уходит О(n) времени. В связи с этим, я не спешу рекомендовать список в качестве временной очереди в Python
Мы можем использовать обычный список в качестве очереди, но это не очень эффективно с точки зрения производительности. Списки слишком медленные для этой задачи, так как вставка и удаление элемента с начала требует сдвига всех прочих элементов по одному, на это уходит О(n) времени. В связи с этим, я не спешу рекомендовать список в качестве временной очереди в Python
Операции со списками в Python
К спискам можно применить встроенные функции Python, такие как len(), min() и max(), чтобы получить длину списка, наименьший и наибольший элементы соответственно.
Поскольку наш shopping_list содержит только строки, min() возвращает строку, которая шла бы первой, если бы список был упорядочен в алфавитном порядке. max() возвращает строку, которая шла бы последней.
К спискам можно применить встроенные функции Python, такие как len(), min() и max(), чтобы получить длину списка, наименьший и наибольший элементы соответственно.
Поскольку наш shopping_list содержит только строки, min() возвращает строку, которая шла бы первой, если бы список был упорядочен в алфавитном порядке. max() возвращает строку, которая шла бы последней.
Участвуйте в интенсиве по Data Science! Познакомьтесь с основами анализа данных и технологиями машинного обучения.
Заполните форму на участие: 🔜 https://clc.to/9oKAxg.
С 11 по 13 апреля в 21:00 по московскому времени пройдёт онлайн-интенсив. На нём вы:
✔️ поймёте основы практического применения моделей машинного обучения для решения реальных задач;
✔️ разберёте базовые инструменты для анализа и подготовки данных;
✔️ обучите нейросеть распознавать лица и предсказывать курс биткоина;
✔️ решите первую бизнес-задачу.
Присоединяйтесь онлайн!
🎁 При регистрации все участники получат чек-лист с информацией о том, чем занимается специалист по DS, где он может работать, какие знания и навыки ему нужны, а также где новичку найти первые проекты. А те, кто дойдёт до конца интенсива, — электронную книгу Пола Доэрти и Джеймса Уилсона «Человек + машина» издательства МИФ. За выполнение практической работы — сертификат на 10 тысяч рублей для обучения на образовательной платформе Skillbox.
Заполните форму на участие: 🔜 https://clc.to/9oKAxg.
С 11 по 13 апреля в 21:00 по московскому времени пройдёт онлайн-интенсив. На нём вы:
✔️ поймёте основы практического применения моделей машинного обучения для решения реальных задач;
✔️ разберёте базовые инструменты для анализа и подготовки данных;
✔️ обучите нейросеть распознавать лица и предсказывать курс биткоина;
✔️ решите первую бизнес-задачу.
Присоединяйтесь онлайн!
🎁 При регистрации все участники получат чек-лист с информацией о том, чем занимается специалист по DS, где он может работать, какие знания и навыки ему нужны, а также где новичку найти первые проекты. А те, кто дойдёт до конца интенсива, — электронную книгу Пола Доэрти и Джеймса Уилсона «Человек + машина» издательства МИФ. За выполнение практической работы — сертификат на 10 тысяч рублей для обучения на образовательной платформе Skillbox.
Метод items()
Метод items() используется для возврата списка кортежей с парами всех ключей и значений словаря.
Синтаксис:dictionary.items()
Данный метод не принимает никаких аргументов.
Приведем пример использования данной функции.
Объявлен словарь с именем products. Ключи содержат названия продуктов, а значения — их цены. Используем для нашего словаря метод items() и сохраним в другой переменной с именем itemlist, а затем выведем на экран.
Метод items() используется для возврата списка кортежей с парами всех ключей и значений словаря.
Синтаксис:dictionary.items()
Данный метод не принимает никаких аргументов.
Приведем пример использования данной функции.
Объявлен словарь с именем products. Ключи содержат названия продуктов, а значения — их цены. Используем для нашего словаря метод items() и сохраним в другой переменной с именем itemlist, а затем выведем на экран.
Целые числа (int)
Давайте определим переменную x, имеющую значение 10. Встроенный метод id() используется для определения местоположения x в памяти, а type() используется для определения типа переменной. Когда мы пытаемся изменить значение x, оно успешно изменяется.
Стоит заметить, что адрес памяти тоже изменяется. Так происходит потому, что фактически мы не изменили значение x, а создали другой объект с тем же именем x и присвоили ему другое значение. Мы связали имя x с новым значением. Теперь, когда вы вызываете x, он будет выводить новое значение и ссылаться на новое местоположение.
Давайте определим переменную x, имеющую значение 10. Встроенный метод id() используется для определения местоположения x в памяти, а type() используется для определения типа переменной. Когда мы пытаемся изменить значение x, оно успешно изменяется.
Стоит заметить, что адрес памяти тоже изменяется. Так происходит потому, что фактически мы не изменили значение x, а создали другой объект с тем же именем x и присвоили ему другое значение. Мы связали имя x с новым значением. Теперь, когда вы вызываете x, он будет выводить новое значение и ссылаться на новое местоположение.
Чтобы начать карьеру в IT, необязательно сразу становиться программистом. Можно начать с другой профессии — не такой сложной, но не менее востребованной.
12 апреля пройдет бесплатный онлайн мастер-класс, на котором вы узнаете как быстро освоить навыки тестировщика ПО и начать работать в IT уже через 3−4 месяца даже если вы не умеете кодить, в чем преимущества профессии и куда можно двигаться дальше.
🎁Подарок для всех участников: пошаговое руководство по освоению новой профессии с нуля.
📌Регистрация — https://clc.to/3aZERQ
12 апреля пройдет бесплатный онлайн мастер-класс, на котором вы узнаете как быстро освоить навыки тестировщика ПО и начать работать в IT уже через 3−4 месяца даже если вы не умеете кодить, в чем преимущества профессии и куда можно двигаться дальше.
🎁Подарок для всех участников: пошаговое руководство по освоению новой профессии с нуля.
📌Регистрация — https://clc.to/3aZERQ
Строки (str)
Мы не можем изменить существующую переменную, вместо этого мы должны создать новую с тем же именем.
В данном примере мы определили строковую переменную x, но допустили ошибку в слове и теперь хотим исправить «ю» на «и». Однако мы получаем TypeError. Это показывает, что строковые объекты не подлежат обновлению.
Мы не можем изменить существующую переменную, вместо этого мы должны создать новую с тем же именем.
В данном примере мы определили строковую переменную x, но допустили ошибку в слове и теперь хотим исправить «ю» на «и». Однако мы получаем TypeError. Это показывает, что строковые объекты не подлежат обновлению.
Погрузитесь в процессы тестирования на бесплатном онлайн-интенсиве Skillbox: 👉 https://clc.to/oBJ7vg
За 3 дня вы:
✔️ узнаете, как быстро находить баги на веб-страницах;
✔️ разберётесь, какие soft и hard skills нужны крутому специалисту;
✔️ освоите ручные и автоматизированные тесты;
✔️ попрактикуетесь на реальных задачах.
Познакомитесь с профессией, основами тестирования и ключевыми инструментами тестировщика. Проведёте свои первые тесты и поймёте, хотите ли развиваться в этом направлении.
Спикер интенсива — инженер по тестированию в Яндексе, организатор тест-сессий, митапов по тестированию и мастер-классов, участник конференций SQA-days, TechTrain и CodeFest Дмитрий Якин.
Подключайтесь к прямому эфиру 14–16 апреля в 19:00 по московскому времени.
🎁 Участвуйте, прокачайте знания и получите в подарок электронную книгу «Человек + машина». Всем, кто сдаст практическую работу, дарим сертификаты на 10 тысяч рублей на любой курс Skillbox.
Используйте шанс освоить высокооплачиваемую профессию!
За 3 дня вы:
✔️ узнаете, как быстро находить баги на веб-страницах;
✔️ разберётесь, какие soft и hard skills нужны крутому специалисту;
✔️ освоите ручные и автоматизированные тесты;
✔️ попрактикуетесь на реальных задачах.
Познакомитесь с профессией, основами тестирования и ключевыми инструментами тестировщика. Проведёте свои первые тесты и поймёте, хотите ли развиваться в этом направлении.
Спикер интенсива — инженер по тестированию в Яндексе, организатор тест-сессий, митапов по тестированию и мастер-классов, участник конференций SQA-days, TechTrain и CodeFest Дмитрий Якин.
Подключайтесь к прямому эфиру 14–16 апреля в 19:00 по московскому времени.
🎁 Участвуйте, прокачайте знания и получите в подарок электронную книгу «Человек + машина». Всем, кто сдаст практическую работу, дарим сертификаты на 10 тысяч рублей на любой курс Skillbox.
Используйте шанс освоить высокооплачиваемую профессию!
Словари (dict)
Словари — часто используемый тип данных в Python. Давайте посмотрим на их изменчивость.
Определим словарь под именем dict с тремя ключами и их значениями. Когда мы распечатаем его, отобразится все его содержимое. Можно распечатать каждое значение словаря отдельно, а также использовать ключи вместо индексов.
Словари — часто используемый тип данных в Python. Давайте посмотрим на их изменчивость.
Определим словарь под именем dict с тремя ключами и их значениями. Когда мы распечатаем его, отобразится все его содержимое. Можно распечатать каждое значение словаря отдельно, а также использовать ключи вместо индексов.
Нелокальная переменная во вложенной функции
Прежде чем перейти к тому, что такое замыкание, мы должны сначала понять, что такое вложенная функция и нелокальная (nonlocal) переменная.
Функция, определенная внутри другой функции, называется вложенной функцией. Вложенные функции могут получать доступ к переменным из локальной области видимости объемлющих функций (enclosing scope).
В Python нелокальные переменные по умолчанию доступны только для чтения. Если нам необходимо их модифицировать, то мы должны объявить их явно как нелокальные (используя ключевое слово nonlocal).
Прежде чем перейти к тому, что такое замыкание, мы должны сначала понять, что такое вложенная функция и нелокальная (nonlocal) переменная.
Функция, определенная внутри другой функции, называется вложенной функцией. Вложенные функции могут получать доступ к переменным из локальной области видимости объемлющих функций (enclosing scope).
В Python нелокальные переменные по умолчанию доступны только для чтения. Если нам необходимо их модифицировать, то мы должны объявить их явно как нелокальные (используя ключевое слово nonlocal).
Загляните в мир разработки на Python! Пройдите бесплатный интенсив Skillbox и начните осваивать один из самых распространённых языков программирования.
Заполните форму, и мы отправим вам статью с полезными скриптами на Python: 👉 https://clc.to/D0TaVg.
📌 Освоите азы программирования на Python и разберёте основные элементы языка.
📌 Поработаете с библиотеками PyQT, Kivy, wxWidgets, Тkinter и поймёте основы сетевого ПО.
📌 Напишете интерфейс мессенджера на Python на практических вебинарах.
⭐️ Спикер интенсива — специалист, который 17 лет работает в области разработки высоконагруженных систем, обработки больших данных и машинного обучения, Михаил Овчинников.
🎁 Участники, которые пройдут интенсив и выполнят все практические работы, получат сертификаты на 10 тысяч рублей для обучения на образовательной платформе Skillbox.
Ждём вас в прямом эфире с 18 по 20 апреля в 21:00 по московскому времени 😉
Заполните форму, и мы отправим вам статью с полезными скриптами на Python: 👉 https://clc.to/D0TaVg.
📌 Освоите азы программирования на Python и разберёте основные элементы языка.
📌 Поработаете с библиотеками PyQT, Kivy, wxWidgets, Тkinter и поймёте основы сетевого ПО.
📌 Напишете интерфейс мессенджера на Python на практических вебинарах.
⭐️ Спикер интенсива — специалист, который 17 лет работает в области разработки высоконагруженных систем, обработки больших данных и машинного обучения, Михаил Овчинников.
🎁 Участники, которые пройдут интенсив и выполнят все практические работы, получат сертификаты на 10 тысяч рублей для обучения на образовательной платформе Skillbox.
Ждём вас в прямом эфире с 18 по 20 апреля в 21:00 по московскому времени 😉