Конвертер MP4 видео в GIF анимацию на Python
С помощью Python можно конвертировать видео в формате MP4 в анимированные GIF изображения. Разумеется, с этой задачей прекрасно справляются готовые приложения. Однако создание собственного конвертера средствами Python – интересный и полезный опыт.
В этом руководстве мы рассмотрим следующие задачи:
Извлечение кадров из MP4 видео.
Конвертацию кадров в GIF анимацию.
Создание пользовательского интерфейса для программы-конвертера.
Подробнее
С помощью Python можно конвертировать видео в формате MP4 в анимированные GIF изображения. Разумеется, с этой задачей прекрасно справляются готовые приложения. Однако создание собственного конвертера средствами Python – интересный и полезный опыт.
В этом руководстве мы рассмотрим следующие задачи:
Извлечение кадров из MP4 видео.
Конвертацию кадров в GIF анимацию.
Создание пользовательского интерфейса для программы-конвертера.
Подробнее
👍11
Forwarded from Python академия
Параметры функции *args, **kwargs
Думаю, многие хоть раз видели такую запись, сейчас мы узнаем, что это за магические символы. Сообщу сразу, что параметры функции
В примере функция принимает обязательный аргумент value, а остальных аргументов она как бы не ожидает. В таком случае *args упаковывает все не именованные аргументы в кортеж, а
В целом, конструкция с
Подписывайтесь на канал 👉@pythonofff
Думаю, многие хоть раз видели такую запись, сейчас мы узнаем, что это за магические символы. Сообщу сразу, что параметры функции
*args
и **kwargs
– общепринятые имена переменных, а разбирать мы будем звездочки перед ними.В примере функция принимает обязательный аргумент value, а остальных аргументов она как бы не ожидает. В таком случае *args упаковывает все не именованные аргументы в кортеж, а
**kwargs
– все именованные в словарь.В целом, конструкция с
*args
, **kwargs
получается достаточно полезной, если мы не знаем, кто и в каких целях будет использовать нашу функцию. То есть, мы можем запихнуть в аргументы после такого практически всё.Подписывайтесь на канал 👉@pythonofff
👍10
Как использовать строки в Python 3 новичку
Одним из наиболее распространенных типов данных в любом языке программирования является string. Строка представляет собой последовательность символов, которые вы могли бы использовать для представления имен пользователей, сообщений в блогах и любое другое содержание текста в вашем коде. Вы можете создать строку и присвоить ее такой переменной.
Вот некоторые общие задачи, которые вы можете выполнять при использовании строк в вашем коде.
Объединение строк — очень распространенная задача. В Python 3 вы можете использовать "+"-оператор для этой цели. Вы можете использовать его несколько раз, чтобы объединить несколько строк.
Одним из наиболее распространенных типов данных в любом языке программирования является string. Строка представляет собой последовательность символов, которые вы могли бы использовать для представления имен пользователей, сообщений в блогах и любое другое содержание текста в вашем коде. Вы можете создать строку и присвоить ее такой переменной.
my_name = "Джонатан Джостар"
В Python строки считаются неизменяемыми — после их создания они не могут быть изменены. Однако можно использовать различные методы для создания новых строк из существующих. Этот тип работы в программировании называется манипулированием.Вот некоторые общие задачи, которые вы можете выполнять при использовании строк в вашем коде.
Объединение строк — очень распространенная задача. В Python 3 вы можете использовать "+"-оператор для этой цели. Вы можете использовать его несколько раз, чтобы объединить несколько строк.
first_name = "Джонатан"
last_name = "Джостар"
full_name = first_name + "" + last_name
Другая распространенная задача со строками — вставка данных в определенное место в строке. В программировании мы называем эту строку интерполяцией. Вот пример создания отформатированной строки (обратите внимание, что буква f включается непосредственно перед первой двойной кавычкой при определении message-переменной). Если вы хотите вставить данные из вашей программы в строку, вы можете включить их между двумя фигурными скобками — { }.first_name = "Джонатан"
last_name = "Джостар"
age = 24
message = f"Меня зовут {first_name} {last_name}, и мне {age} лет."
print(message)
Вы также захотите преобразовать строку во все заглавные буквы, используя upper-метод, к примеру, для отображения заголовков. А потом вы захотите перечислить наименования через запятую с помощью метода "split". Или заменить одно слово другим в предложении.example_string = "am I stoked enough yet?"
example_string = example_string.upper()
print(example_string) # prints "AM I STOKED ENOUGH YET?"
example_string = "We're having kale for dinner! Yay kale!"
example_string = example_string.replace("kale", "tacos")
print(example_string) # prints "We're having tacos for dinner! Yay tacos!"
example_string = "Apples,Oranges,Pears"
groceries = example_string.split(',')
И в заключение, вам захочется конвертировать данные из одного типа в другой.example_number = 42
converted = str(example_number)
message = "Ответ на главный вопрос жизни, вселенной и всего такого — " + converted
example_string = "2"
converted = int(example_string)
message = f"Два плюс два равно { converted + 2 }"
👍18👎1🔥1
Forwarded from Python академия
Оформление кода
Все вы знаете, что в python есть своя философия. Именно отсюда берутся определенные правила и стандарты. В пайтон такое соглашение назвали PEP 8 (читается - пэп).
Соответствие пепу позволяет видеть основную структуру вашего кода другим разработчикам. Не нужно привыкать к другому оформлению кода. Если вы привыкли как-то оформлять код, а увидели что-то совершенно другое, то вы поймете.
Официальная документация по PEP 8.
Основные моменты:
Используйте пробелы, разрешается использование табов, но смешивание запрещено. Отступ соответствует 4 пробелам. Хорошие редакторы кода автоматически заменяют табы на пробелы.
Вокруг операторов +, -, =, *, /, ** должны быть пробелы.
Строка не должна превышать 101 символа
Импорты можно делать только по одному на строку! При этом из одного модуля можно доставать несколько нужных объектов. Порядок тоже важен:
- стандартные библиотеки;
- сторонние;
- созданные вами
Подписывайтесь на канал 👉@pythonofff
Все вы знаете, что в python есть своя философия. Именно отсюда берутся определенные правила и стандарты. В пайтон такое соглашение назвали PEP 8 (читается - пэп).
Соответствие пепу позволяет видеть основную структуру вашего кода другим разработчикам. Не нужно привыкать к другому оформлению кода. Если вы привыкли как-то оформлять код, а увидели что-то совершенно другое, то вы поймете.
Официальная документация по PEP 8.
Основные моменты:
Используйте пробелы, разрешается использование табов, но смешивание запрещено. Отступ соответствует 4 пробелам. Хорошие редакторы кода автоматически заменяют табы на пробелы.
Вокруг операторов +, -, =, *, /, ** должны быть пробелы.
Строка не должна превышать 101 символа
Импорты можно делать только по одному на строку! При этом из одного модуля можно доставать несколько нужных объектов. Порядок тоже важен:
- стандартные библиотеки;
- сторонние;
- созданные вами
Подписывайтесь на канал 👉@pythonofff
👍8
Практика программирования на Python 3
Тимофей Хирьянов, Московский физико-технический институт
Смотреть на youtube
Тимофей Хирьянов, Московский физико-технический институт
Смотреть на youtube
👍25🔥5👎4
Как работают массивы в Python?
Массивы и списки являются одними из наиболее полезных структур данных в программировании. Сегодня я расскажу вам основы, а также покажу несколько простых примеров Python массивов.
Подробнее
Массивы и списки являются одними из наиболее полезных структур данных в программировании. Сегодня я расскажу вам основы, а также покажу несколько простых примеров Python массивов.
Подробнее
Десять способов для ускорения кода на Python
В последние годы было приложено много усилий для улучшения производительности Python. Сейчас можно быстро обрабатывать большие наборы данных, используя библиотеки numpy, scipy, pandas, numba. А также Pypy, которая ускоряет выполнение кода на Python, в несколько раз.
В этой статье я поделюсь десятью способами ускорения Python без использования сторонних инструментов. Приведенные в данной статье примеры доступны в этом репозитории на Github.
Читать далее
В последние годы было приложено много усилий для улучшения производительности Python. Сейчас можно быстро обрабатывать большие наборы данных, используя библиотеки numpy, scipy, pandas, numba. А также Pypy, которая ускоряет выполнение кода на Python, в несколько раз.
В этой статье я поделюсь десятью способами ускорения Python без использования сторонних инструментов. Приведенные в данной статье примеры доступны в этом репозитории на Github.
Читать далее
👍11
❗️С начала марта зарубежные IT-компании ограничивают или полностью закрывают доступ к своим продуктам пользователям из России. В списке, среди прочих, — Azure, AWS, Oracle и другие крупные компании. Российские гиганты, такие как Яндекс и VK, перегружены заявками на переезд в облако.
Рассказываем про альтернативу существующих сервисам:
🔥 Масштабируемые облачные серверы, S3, DBaaS, K8s, Load balancer и ряд других сервисов доступны в облаке Timeweb Cloud.
Компания не зависит от зарубежных вендоров ПО и размещает оборудование на территории РФ в ЦОД уровня TIER III. Перенос проектов от зарубежных и российских провайдеров осуществляет бесплатно.
⚡️В отличие от конкурентов, они до сих пор не подняли цены. Переходи по ссылке и пользуйся современным облаком по старым ценам.
Рассказываем про альтернативу существующих сервисам:
🔥 Масштабируемые облачные серверы, S3, DBaaS, K8s, Load balancer и ряд других сервисов доступны в облаке Timeweb Cloud.
Компания не зависит от зарубежных вендоров ПО и размещает оборудование на территории РФ в ЦОД уровня TIER III. Перенос проектов от зарубежных и российских провайдеров осуществляет бесплатно.
⚡️В отличие от конкурентов, они до сих пор не подняли цены. Переходи по ссылке и пользуйся современным облаком по старым ценам.
👍14🔥9👎2
Forwarded from Python академия
Анонимные функции
Часто функции нужны только один раз, причем короткие. И избыточно создавать под них функцию и придумывать ей имя.
Для таких случаев существуют лямбда функции, так выглядит их создание:
Такие функции обязан знать каждый программист, их применение сильно сокращает код.
Подписывайтесь на канал 👉@pythonofff
Часто функции нужны только один раз, причем короткие. И избыточно создавать под них функцию и придумывать ей имя.
Для таких случаев существуют лямбда функции, так выглядит их создание:
<аргументы>
: <выражение>
Такие функции обязан знать каждый программист, их применение сильно сокращает код.
Подписывайтесь на канал 👉@pythonofff
👍8
Мы в Хекслете не понаслышке знаем о силе обучения и весомости плавного погружения в новую профессию. Наша профессия «Python-разработчик» поможет новичку повысить свой level и трудоустроиться 😎
👍4
If
dict
remembers the order of elements in Python3.6+, why do you need collections.OrderedDict
anymore? That's why:>>> OrderedDict(a=1, b=2) == OrderedDict(b=2, a=1)
False
>>> dict(a=1, b=2) == dict(b=2, a=1)
True
👍4
Forwarded from Python академия
Как вывести все методы класса в Python?
Для того, чтобы вывести все методы класса, Вы можете воспользоваться методами
Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
Для того, чтобы вывести все методы класса, Вы можете воспользоваться методами
dir()
, callable()
, getattr()
Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
👍4
Расскажем, чем занимается дизайнер интерфейсов, и что делать, чтобы получить новую профессию.
Для кого:
— дизайнеров, которые планируют углубиться в сферу UX/UI-дизайна;
— специалистов из смежных профессий (разработчики, продакт-менеджеры), которые хотят погрузиться в дизайн интерфейсов;
— для всех, кто хочет поменять профессию и с нуля освоить UX/UI-дизайн;
22 марта в 19.00 по мск
Зарегистрироваться
Для кого:
— дизайнеров, которые планируют углубиться в сферу UX/UI-дизайна;
— специалистов из смежных профессий (разработчики, продакт-менеджеры), которые хотят погрузиться в дизайн интерфейсов;
— для всех, кто хочет поменять профессию и с нуля освоить UX/UI-дизайн;
22 марта в 19.00 по мск
Зарегистрироваться
👍1
In Python 3
You can argue that you don't really need indexing keys since their order is random, but it's not completely true. First of all,
keys
, values
and items
methods of dicts return view objects. They returned lists back in Python 2. The main difference is views don't store all items in memory, but yield them as long as they are requested. It works just fine as long as you are trying to iterate over keys (which you usually are), but you can't access elements by index anymore.TypeError: 'dict_keys' object does not support indexing
You can argue that you don't really need indexing keys since their order is random, but it's not completely true. First of all,
d.keys()[0]
can be a proper way to get any key (use next(d.keys())
in Python 3). Second, since Python 3.6 dicts are insertion ordered in CPython and that will be a language feature since Python 3.7.👍2
Шаблоны Django: реализация настраиваемых тегов и фильтров.
Шаблоны Django помогают вам управлять HTML вашего веб-приложения. Шаблоны используют мини-язык с переменными, тегами и фильтрами. Вы можете условно включать блоки, создавать циклы и изменять переменные перед их отображением. Django поставляется с большим количеством встроенных тегов и фильтров, но что если их недостаточно? В таком случае, напишите свои собственные! В этом уроке рассказывается о том, как написать собственные пользовательские теги и фильтры для шаблона Django.
https://realpython.com/django-template-custom-tags-filters/
Шаблоны Django помогают вам управлять HTML вашего веб-приложения. Шаблоны используют мини-язык с переменными, тегами и фильтрами. Вы можете условно включать блоки, создавать циклы и изменять переменные перед их отображением. Django поставляется с большим количеством встроенных тегов и фильтров, но что если их недостаточно? В таком случае, напишите свои собственные! В этом уроке рассказывается о том, как написать собственные пользовательские теги и фильтры для шаблона Django.
https://realpython.com/django-template-custom-tags-filters/
👍2
👋 Мы — команда айтишников. В текущих условиях компания не может работать как работала, и мы решили переехать всей командой.
💬 Создали канал для таких же, как мы, — тех, кто хочет уехать. Собираем всё самое полезное про релокацию. Рассказываем, с чем столкнулись сами, ищем лайфхаки и способы похачить систему (например, нашли несколько способов, как жить за границей на рубли).
👨💻 А вообще, мы HR-IT-чувачки (то есть без лишней скромности профи в сфере трудоустройства) и сейчас готовим новый проект: будем помогать айтишникам организовать переезд и устроиться на работу в валюте. И ещё сверху грант будем давать💰
👉 Что для этого нужно? Пока что — присоединиться к каналу RelocationDev и следить за новостями😉 Скоро обо всём расскажем — в мельчайших подробностях.
💬 Создали канал для таких же, как мы, — тех, кто хочет уехать. Собираем всё самое полезное про релокацию. Рассказываем, с чем столкнулись сами, ищем лайфхаки и способы похачить систему (например, нашли несколько способов, как жить за границей на рубли).
👨💻 А вообще, мы HR-IT-чувачки (то есть без лишней скромности профи в сфере трудоустройства) и сейчас готовим новый проект: будем помогать айтишникам организовать переезд и устроиться на работу в валюте. И ещё сверху грант будем давать💰
👉 Что для этого нужно? Пока что — присоединиться к каналу RelocationDev и следить за новостями😉 Скоро обо всём расскажем — в мельчайших подробностях.
👎21👍5
Операторы 'is' и '==' в Python
В Python есть два похожих оператора, предназначенных для сравнения объектов. Эти оператор is и ==. Их часто путают, потому они одинаково сравнивают типы данных intи string:
Подробнее
В Python есть два похожих оператора, предназначенных для сравнения объектов. Эти оператор is и ==. Их часто путают, потому они одинаково сравнивают типы данных intи string:
Подробнее
👍18
Уроки по Django REST Framework
#1. Django REST Framework - что это такое
#2. Установка Django Rest Framework
#3. Базовый класс APIView для представлений
#4. Введение в сериализацию. Класс Serializer
#5. Методы save(), create() и update() класса Serializer
#6. Класс ModelSerializer и представление ListCreateAPIView
#7. Представления UpdateAPIView и RetrieveUpdateDestroyAPIView
#8. Viewsets и ModelViewSet
#9. Роутеры: SimpleRouter и DefaultRouter
#10. Ограничения доступа (permissions)
#11. Авторизация и аутентификация. Session-based authentication
#12. Аутентификация по токенам. Пакет Djoser
#13. Идея авторизации по JWT-токенам
#14. Делаем авторизацию по JWT-токенам
#15. Добавляем пагинацию (pagination)
#1. Django REST Framework - что это такое
#2. Установка Django Rest Framework
#3. Базовый класс APIView для представлений
#4. Введение в сериализацию. Класс Serializer
#5. Методы save(), create() и update() класса Serializer
#6. Класс ModelSerializer и представление ListCreateAPIView
#7. Представления UpdateAPIView и RetrieveUpdateDestroyAPIView
#8. Viewsets и ModelViewSet
#9. Роутеры: SimpleRouter и DefaultRouter
#10. Ограничения доступа (permissions)
#11. Авторизация и аутентификация. Session-based authentication
#12. Аутентификация по токенам. Пакет Djoser
#13. Идея авторизации по JWT-токенам
#14. Делаем авторизацию по JWT-токенам
#15. Добавляем пагинацию (pagination)
👍16
Блочная сортировка в Python
В этом руководстве мы рассмотрим теорию и практическую реализацию блочной сортировки в Python.
Блочная сортировка – это алгоритм, который распределяет элементы сортируемого списка по определенному количеству блоков (сегментов). После сортировки содержимое блоков добавляется, образуя отсортированную коллекцию.
Подробнее
В этом руководстве мы рассмотрим теорию и практическую реализацию блочной сортировки в Python.
Блочная сортировка – это алгоритм, который распределяет элементы сортируемого списка по определенному количеству блоков (сегментов). После сортировки содержимое блоков добавляется, образуя отсортированную коллекцию.
Подробнее
👍11🔥3
Forwarded from Python академия
Модуль sys
Данный модуль предоставляет доступ к широким возможностям интерпретатора python. К примеру, с его помощью можно завершить работу скрипта, узнать вес объекта, получить пути к библиотекам, узнать операционную систему, узнать кодировку файлов по умолчанию и многое другое.
Если вы планируете участвовать в олимпиадах, то обязаны так же обрабатывать потоковый ввод. Для своих программ можно обойтись и без него.
Я перечислил самые полезные функции, остальное всегда можно прочитать в документации (да, её стоит читать) или загуглить.
Подписывайтесь на канал 👉@pythonofff
Данный модуль предоставляет доступ к широким возможностям интерпретатора python. К примеру, с его помощью можно завершить работу скрипта, узнать вес объекта, получить пути к библиотекам, узнать операционную систему, узнать кодировку файлов по умолчанию и многое другое.
Если вы планируете участвовать в олимпиадах, то обязаны так же обрабатывать потоковый ввод. Для своих программ можно обойтись и без него.
Я перечислил самые полезные функции, остальное всегда можно прочитать в документации (да, её стоит читать) или загуглить.
Подписывайтесь на канал 👉@pythonofff
👍6