Библиотека Python разработчика | Книги по питону
19.5K subscribers
1.05K photos
391 videos
82 files
989 links
Полезные материалы для питониста по Фреймворкам Django, Flask, FastAPI, Pyramid, Tornado и др.

По всем вопросам @evgenycarter

РКН clck.ru/3Ko7Hq
Download Telegram
Оптимизация использования памяти в Python-приложениях

Когда заходит разговор об оптимизации производительности приложений, обычно основное внимание уделяют лишь скорости процессора и уровню его использования. Редко кого заботят соображения, касающиеся потребления памяти. Ну — до тех пор, пока программа не исчерпает доступную ей RAM.

Подробнее

Original
👍4
Forwarded from Python академия
Как отправить xml запрос в Python?

Чтобы отправить post-запрос с xml-содержимым, Вы можете воспользоваться библиотекой requests

Посмотреть пример.

Подписывайтесь на канал 👉@pythonofff
👍5
«Что я получу, если смешаю корень златоцветника и настойку полыни?» или 10 вопросов для Junior Python-разработчика

Стать Python-разработчиком после PHP оказалось сложнее, чем подняться на Оштен (гора Кавказского хребта, 2804 метра). Нет, подняться на Оштен вполне посильная задача, нужна небольшая подготовка. Вот и я думал, что три года опыта коммерческой разработки на PHP мне дадут крылья.

Подробнее
👍9
Forwarded from Python академия
В одну строку - итератор

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

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

Преимущество в том, что итераторы потребляют намного меньше памяти, чем списки и кортежи.

Вы уже точно знаете один итератор и даже пользуетесь им - range().

А есть еще один очень полезный - map(). Он принимает два аргумента, функцию для задания правила преобразования и что-то, что требуется преобразовать.

Подписывайтесь на канал 👉@pythonofff
👍6
Как сделать интерактивную карту с маршрутами на Python

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

Подробнее
👍1
py04.pdf
37.5 KB
Шпаргалка python от Яндекс. Словари
👍7
Конвертер MP4 видео в GIF анимацию на Python

С помощью Python можно конвертировать видео в формате MP4 в анимированные GIF изображения. Разумеется, с этой задачей прекрасно справляются готовые приложения. Однако создание собственного конвертера средствами Python – интересный и полезный опыт.

В этом руководстве мы рассмотрим следующие задачи:

Извлечение кадров из MP4 видео.
Конвертацию кадров в GIF анимацию.
Создание пользовательского интерфейса для программы-конвертера.

Подробнее
👍11
Forwarded from Python академия
Параметры функции *args, **kwargs

Думаю, многие хоть раз видели такую запись, сейчас мы узнаем, что это за магические символы. Сообщу сразу, что параметры функции *args и **kwargs – общепринятые имена переменных, а разбирать мы будем звездочки перед ними.

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

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

Подписывайтесь на канал 👉@pythonofff
👍10
Как использовать строки в 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
👍8
Практика программирования на Python 3
Тимофей Хирьянов, Московский физико-технический институт

Смотреть на youtube
👍25🔥5👎4
Как работают массивы в Python?

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

Подробнее
Десять способов для ускорения кода на Python

В последние годы было приложено много усилий для улучшения производительности Python. Сейчас можно быстро обрабатывать большие наборы данных, используя библиотеки numpy, scipy, pandas, numba. А также Pypy, которая ускоряет выполнение кода на Python, в несколько раз.

В этой статье я поделюсь десятью способами ускорения Python без использования сторонних инструментов. Приведенные в данной статье примеры доступны в этом репозитории на Github.

Читать далее
👍11
❗️С начала марта зарубежные IT-компании ограничивают или полностью закрывают доступ к своим продуктам пользователям из России. В списке, среди прочих, — Azure, AWS, Oracle и другие крупные компании. Российские гиганты, такие как Яндекс и VK, перегружены заявками на переезд в облако.

Рассказываем про альтернативу существующих сервисам:

🔥 Масштабируемые облачные серверы, S3, DBaaS, K8s, Load balancer и ряд других сервисов доступны в облаке Timeweb Cloud.

Компания не зависит от зарубежных вендоров ПО и размещает оборудование на территории РФ в ЦОД уровня TIER III. Перенос проектов от зарубежных и российских провайдеров осуществляет бесплатно.

⚡️В отличие от конкурентов, они до сих пор не подняли цены. Переходи по ссылке и пользуйся современным облаком по старым ценам.
👍14🔥9👎2
Forwarded from Python академия
Анонимные функции

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

Для таких случаев существуют лямбда функции, так выглядит их создание:
<аргументы>: <выражение>

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

Подписывайтесь на канал 👉@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?

Для того, чтобы вывести все методы класса, Вы можете воспользоваться методами dir(), callable(), getattr()

Посмотреть пример в онлайн редакторе.

Подписывайтесь на канал 👉@pythonofff
👍4
Расскажем, чем занимается дизайнер интерфейсов, и что делать, чтобы получить новую профессию.

Для кого:
— дизайнеров, которые планируют углубиться в сферу UX/UI-дизайна;
— специалистов из смежных профессий (разработчики, продакт-менеджеры), которые хотят погрузиться в дизайн интерфейсов;
— для всех, кто хочет поменять профессию и с нуля освоить UX/UI-дизайн;

22 марта в 19.00 по мск
Зарегистрироваться
👍1
In Python 3 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/
👍2