Python Map | Обучение
246 subscribers
196 photos
4 videos
1 file
85 links
Образовательный канал для программистов на Python 🐍

Сотрудничество – @HackingIP
Download Telegram
Сохранение картинки с сайта

• В этой программе мы используем функцию get() из модуля requests для отправки GET-запроса на указанный URL и указываем stream=True.
• Это позволяет отложить загрузку тела ответа сервера до тех пор, пока библиотека requests не получит доступ к атрибуту Response.content, который управляется аргументом stream.
• Далее проверяем статус-код ответа: если он равен 200, то изображение можно успешно загрузить.
Мы открываем файл в двоичном режиме с именем полученным из URL.
• С помощью цикла записываем в него данных, которые будут считываться фрагментами по 128 байт.

#практика | @PyMapChannel
👍3
Аннотация типов

Аннотация типов – это явное указание типа ожидаемых и возвращаемых данных при объявлении переменных, классов и функций.

Подсказки типов бывают полезны:
• Это позволяет делать код более понятным и улучшает его читаемость;
• Аннотации типов помогают IDE проводить статический анализ кода, выявлять потенциальные ошибки и предлагать подсказки по работе с данными;
• Существуют сторонние решения статического анализа кода, которые осуществляют проверку типов (например mypy).


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

#практика | @PyMapChannel
💯3👍1
Строковые литералы

Строковые литералы – это представление строки, как фиксированной последовательности символов в коде, в то время как строка – это объект данных в Python, который содержит последовательность символов.

В Python для создания строковых литералов можно использовать одинарные кавычки (') или двойные кавычки ("), а также группы из трех одинарных или двойных кавычек (''') или (""").


Символ обратной косой черты (\) используется для экранирования управляющих символов (например \n).

Строки могут начинаться с префиксов:
• r или R для создания необработанных (сырых) строк, которые обрабатывают обратную косую черту как символ литерала;
• u или U – устаревший литерал Юникода для упрощения обслуживания двух кодовых баз Python-2.x и Python-3.x;
• f или F для создания форматированных строк.

#теория | @PyMapChannel
🔥2
👍 – если такое было

#юмор | @PyMapChannel
👍12🤓2
Книга: "Python. Самое полное руководство по разработке в примерах от сообщества Stack Overflow (эксперты сообщества Stack Overflow)"

Данное практическое руководство по программированию на Python основано на примерах кодов, написанных экспертами сообщества Stack Overflow, где лучшие разработчики делятся знаниями и опытом. Опытные Python-программисты найдут множество подробно прокомментированных примеров кода, которые помогут усовершенствовать их навыки. Книга будет полезна и начинающим специалистам с минимальным опытом, благодаря исчерпывающему объяснению важнейших концепций Python с практическими примерами, избегающими сухой теории.

#книги | @PyMapChannel
🆒3
Различие между методом dict.get() и dict[key] в словарях

Метод словаря dict.get() вернет значение по умолчанию (если оно задано), или None, если значение по умолчанию не указано.

Обращение по ключу dict[key] вызовет исключение KeyError, если нужного ключа нет в словаре.

Таким образом, метод get() в словарях предоставляет безопасный способ получения значения по ключу, предотвращая возможные ошибки.

#теория #это_база | @PyMapChannel
🔥5
Что выведет этот код?
Anonymous Quiz
6%
-1 -1
16%
-1 5
21%
True False
18%
True True
40%
Ошибка
Как работает оператор or

В Python оператор or возвращает первое истинное значение, если таковое имеется, в противном случае возвращает последнее значение в выражении.

В примере функция positive принимает список, и возвращает все найденные положительные числа, либо None, если таковых не нашлось.


Оценку на "правдивость" и "ложность" можно провести с помощью функции bool().

#практика #средний_уровень | @PyMapChannel
Как работает оператор and

В Python оператор and возвращает первое ложное значение, если таковое имеется, в противном случае возвращает последнее значение в выражении.

В примере функция delta принимает список, и возвращает разницу между наибольшим и наименьшим значением, либо 0, если список пустой.


Оценку на "правдивость" и "ложность" можно провести с помощью функции bool().

#практика #средний_уровень | @PyMapChannel
Модуль random: функция sample()

Функция sample() модуля random используется для возврата списка случайных элементов (без повторений), выбранных из последовательности или коллекции.

Синтаксис:
sample(population, k, *, counts=None)

• population – последовательность или коллекция
• k – количество выбираемых элементов
• counts=None – список элементов для повтора (добавлен в Python 3.9)


Количество возвращаемых элементов не должно превышать размер самой выборки, в противном случае появляется исключение ValueError.

Важно: начиная с Python 3.9 экземпляры set должны быть преобразованы в список или кортеж.

#практика #средний_уровень | @PyMapChannel
Функции bin(), oct(), hex()

Функция bin() преобразует целое число в двоичную строку с префиксом 0b. В двоичных числах используются только цифры 0 и 1.

Функция oct() преобразует целое число в восьмеричную строку с префиксом 0o. В восьмеричных числах используются цифры от 0 до 7.

Функция hex() преобразует целое число в шестнадцатеричную строку с префиксом 0x. В шестнадцатеричных числах используются цифры от 0 до 9 и буквы от A до F для представления значений от 10 до 15.

Если в эти функции передается объект не являющийся int, то он должен определять метод __index()__, который будет возвращать целое число.

#практика #это_база | @PyMapChannel
🔥3
Байтовые объекты

Байтовые объекты представляют собой последовательность байтов, которая хранит информацию в двоичном формате.

В Python байтовые объекты представлены типами данных bytes и bytearray. Различие заключается в том, что bytes является неизменяемым типом данных, в то время как bytearray - изменяемым.

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

Для создания байтовых объектов можно использовать байтовые литералы (синтаксис схож со строковыми литералами, за исключением того, что добавляется префикс "b").

В Python также существует модуль struct, который позволяет работать с байтовыми данными на низком уровне, осуществляя их упаковку и распаковку.

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


#теория | @PyMapChannel
5
Модуль os

Предустановленный модуль os в Python предоставляет инструменты для взаимодействия с операционной системой.

С его помощью можно выполнять множество задач, таких как управление файлами и директориями, работа с процессами, а также получение информации о системе. Модуль также поддерживает работу с путями файловой системы через интерфейс os.PathLike, что делает его удобным для создания кросс-платформенных скриптов.

Вот некоторые из основных функций модуля:

функция listdir()
функции getcwd() и getcwdb()


#теория | @PyMapChannel
👍3
Модуль os: функция listdir()

Функция listdir() модуля os возвращает список, содержащий имена файлов и директорий в заданном каталоге. Список будет в произвольном порядке и не содержит специальных обозначений ("." и "..").

Синтаксис:
os.listdir(path='.')

Аргумент path – путь к каталогу, принимает объекты, реализующие интерфейс os.PathLike. Если путь имеет байтовый тип, возвращаемые имена файлов также будут байтовыми типами, иначе они будут строковыми.


#практика #средний_уровень | @PyMapChannel
👍2
Модуль os: функции getcwd() и getcwdb()

Функция getcwd() модуля os вернет строку, представляющую текущий рабочий каталог. Функция getcwdb() вернет строку байтов, представляющую текущий рабочий каталог.

Функция getcwdb() использует кодировку UTF-8 в Windows, а не кодовую страницу ANSI.


#практика #средний_уровень | @PyMapChannel
🔥3
Будем делать что-то наподобие плейлиста или серий уроков, оставляя ссылки на добавленные уроки в указатели по темам. Может время от времени будем публиковать основной указатель по темам для новых подписчиков. Ставьте 🔥 реакцию, если думаете что будет удобно. Также можете написать в комментариях темы, которые хотите, чтобы были разобраны на канале.
🔥14
Последовательность и коллекция в Python

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

Последовательность – это итерируемый объект, к элементам которого можно обратиться по целочисленному индексу.
Примеры последовательностей: строки (str), списки (list), кортежи (tuple).


Коллекция – это структура данных, которая позволяет хранить и управлять набором элементов. В отличие от последовательностей, элементы в коллекции могут быть неупорядоченными, и могут быть изменяемыми или обеспечивать быстрый поиск по ключу.
Примеры коллекций: словари (dict), множества (set, frozenset), в то же время и последовательности: строки (str), списки (list), кортежи (tuple).


Таким образом, все последовательности являются коллекциями, но не все коллекции являются последовательностями.

#теория | @PyMapChannel
👍3
Генерация HEX-цветов

В веб-разработке часто применяют HEX-цвета, которые представляют цвет в формате RGB с использованием шестнадцатеричной системы счисления.

В данном коде каждый цветовой канал (red, green, blue) преобразуется в двузначное шестнадцатеричное число с помощью форматирования f-строки {channel:02x}, где:

channel – переменная, содержащая значение цветового канала (в диапазоне от 0 до 255, включая его)

x – указывает, что число будет представлено в шестнадцатеричной системе счисления , используя строчные буквы для цифр выше 9
X – можно использовать заглавные буквы для цифр выше 9

02 - означает, что число будет представлено минимум двумя символами, с добавлением нуля спереди, если значение меньше 16₁₀ т.е. 10₁₆


#практика #средний_уровень | @PyMapChannel
2👍1🔥1