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

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

РКН clck.ru/3Ko7Hq
Download Telegram
Forwarded from Python академия
Копирование словарей и других объектов

Новички часто допускают такую ошибку при создании копии списка:
lst2 = lst1

При работе с одним из словарей оказывается, что изменяются оба.

Почему так происходит?
Об этом — в завтрашнем посте. Пока что расскажу, как этого избежать:

У списка существует специальный метод copy(), который нужен как раз для таких случаев.

Но подобное работает не всегда! Если имеется множество вложенных списков, то надо сделать полное копирование импортировав модуль copy и воспользовавшись методом deepcopy().

Подписывайтесь на канал 👉@pythonofff
👍6
Почему я начал использовать аннотации типов в Python – и вам тоже советую
Впервые услышав об аннотациях типов, я ими не впечатлился. Думал, что аннотации типов – это какой-то костыль на уровне языка Python.
Идея указывать типы в языке с динамической типизацией показалась мне, мягко говоря, странной, учитывая, что динамическая природа Python годами меня устраивала.

Подробнее

Статья на Eng
👍3
Forwarded from Python академия
Почему присвоение не является копированием?


В python все является объектом. В этом легко убедится воспользовавшись функцией dir().

При присвоении в новую переменную отправляется ссылка на объект. А при изменении объекта ссылка на него не меняется.

Тут многие могут спросить про строки и числа, поэтому отвечаю — с ними то же самое. Просто при операциях не изменяется старый объект, а создается новый. Все это можно проследить воспользовавшись функцией id(), которая показывает номер объекта.

Интересно то, что за частью чисел в языке на программном уровне закреплена ссылка на объект. Можете попробовать сами.

Подписывайтесь на канал 👉@pythonofff
👍4🔥2
Media is too big
VIEW IN TELEGRAM
Пишем ТЕЛЕГРАМ бот на PYTHON с нуля

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

Код на GitHub

Источник
👍10🔥1
Разбираешься в Blockchain, Python и Data Science?
Тогда регистрируйся на хакатон «ТИМ ФОРС Альянс» с призовым фондом 500 000 рублей!

🗓 Даты хакатона: 11-13 марта 2022 года
📌 Дедлайн регистрации: 9 марта 23:59
👉 Регистрация: https://tfalliance.ru

Платформа токенизации проектных ИТ-команд «ТФ Альянс» с 11 по 13 марта 2022 года проводит онлайн-хакатон, в рамках которого участникам предстоит решить одну из трех задач на выбор:

• Разработать инструмент для обеспечения взаимосвязи блокчейнов реестра транзакций и реестра состояний
• Создать систему учета метрик для оценки эффективности работы специалистов и команд в проектных задачах
• Разработать робота-ассистента на основе Telegram-бота для тематической буферизации сообщений

Участники поборются за проживание в HackerHome в Иннополисе, возможность трудоустройства в компанию, а также призовой фонд в размере 500 000 рублей!

Подробности и регистрация: https://tfalliance.ru
👍2
Forwarded from Python академия
Как записать список в csv файл на Python?

Для записи в csv-файл определенного массива, Вы можете воспользоваться библиотекой csv.

В примере мы показываем, как будем записывать весь список в один столбец и в одну строку.

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

Подписывайтесь на канал 👉@pythonofff
👍8
Оптимизация использования памяти в 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