TGTGInsightinteligencia telegramLIVE / telegram public index
Volver a canales
Python Academy avatar

TGINSIGHT CHAT

Python Academy

@python_academy

Educación

Python Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu

Suscriptores4.5万Suscriptores actuales
Posts rastreados1,014Posts indexados
Alcance reciente164,200Vistas de posts recientes
Posts recientes

Posts recientes

Pág. 82 de 85 · 1,014 posts

Publicado 4 abr

Скачиваем видео с YouTube Пакет pytube предоставляет всю небходимую функциональность для скачивания видео с YouTube, а также для сбора всей информации о нем. Для работы нам необходимо создать объект класса YouTube. Помимо ссылки на видео в конструктор можно передать в качестве параметров функции для обработки прогресса загрузки и завершения. Большинство видео на ютубе не имеют аудиодорожки на потоках с высоким разрешением, свыше 720p — это связано с технологией передачи DASH, которую использует ютьюб. Решение данной проблемы покажем в следующем посте. На картинке мы показали как отфильтровать потоки с прогрессивной передачей и выбрать из полученного списка с максимальным доступным разрешением до 720p. Для загрузки выбранного потока используем функцию download(), в функцию можно передать в качестве параметров путь до директории для сохранения и имя файла. #youtube

11,700 views

Hashtags

Publicado 29 mar

Вычисление выражений Python Вы наверняка знакомы с eval, но знаете ли вы о literal_eval? Вряд ли. Для безопасного исполнения выражений, содержащих исключительно литералы, вы можете делать так, как показано на картинке выше. Между прочим, данная фича находится в языке уже очень давно. #tips#eval

13,000 views

Hashtags

Publicado 28 mar

Прочитать произвольную строку из файла Предположим, вы решили разработать чат-бота. В нем конечно же будет с десяток самых крутых и полезных функций, может быть даже в нем будет модные нынче нейросети. И конечно же не обошлось без приветствия, вы специально заготовили несколько различных вариантов в файле text.txt: Приветствую! Здравствуйте! Ку, здарова. Добрый день! Привет! Чтобы вывести это на экран, может помочь функция getline из модуля linecache. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline кеширует все строчки файла в списке, так что следующие вызовы get_answer отработают моментально. #linecache#file

12,900 views

Publicado 26 mar

Ускоряем код с помощью векторизации Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами. Вообще лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией my_func мы могли бы вызвать ее в цикле для каждого элемента списка, но гораздо проще использовать vectorize. По сути, vectorize преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент. Надо помнить, что такой подход не всегда приводит к значительному ускорению. #vectorize#numpy

13,100 views

Publicado 22 mar

Создание дочернего процесса Метод os.fork() создаёт дочерний процесс в том же месте кода, вызывая системную функцию fork(), и возвращает PID (Process Identifier), который равен PID дочернего процесса в родительском процессе и нулю в новом. Кстати, получается интересный случай, в коде примера выполняется и блок if, и else. Если не знать про os.fork() и посмотреть вывод подобного кода, то возникнет много вопросов. #os#fork#процессы

13,800 views

Publicado 21 mar

Дескрипторы Дескриптор – это атрибут объекта со “связанным поведением”, то есть такой атрибут, при доступе к которому его поведение переопределяется методом протокола дескриптора. Если хотя бы один из этих методов определен в объекте, то можно сказать, что этот метод – дескриптор. Для того, чтобы определить свой собственный дескриптор, обычно определяют три специальных метода класса __get__, __set__ или __delete__. После этого можно создать новый класс и в атрибут этого класса записать объект типа дескриптор. У данного объекта будет переопределено поведение при доступе к атрибуту (__get__), при присваивании значений (__set__) или при удалении (__delete__). #классы#дескрипторы

13,500 views

Publicado 16 mar

Наследование Наследование позволяет создавать новый класс на основе уже существующего. Таким образом, можно создать новый класс, взяв за основу все методы и атрибуты другого. В данном случае класс Person является родительским классом, также его называют базовым классом или суперклассом. А класс Employee называется дочерним классом или подклассом. Наследование классов нужно для изменения поведения конкретного класса, а также для расширения его функционала. #классы#ооп

13,700 views

Publicado 14 mar

Дробные числа По умолчанию числа с плавающей точкой используют память привычным образом, то есть они хранятся в двоичном виде. Это означает, что вы обычно работаете с приблизительными значениями, а не точными. Можно использовать тип данных Decimal, который предоставит намного большую точность, но и его может не хватить в некоторых случаях. Поэтому для идеальных вычислений лучше использовать Fraction, который представляет и хранит число в виде рациональной дроби. #числа#fraction

13,400 views

Publicado 11 mar

Инкремент с помощью __pos__ В Python нет операции инкремента ++ как в си-подобных языках, поэтому используется x += 1. Однако запись ++x является валидным кодом (но не x++), так как это просто два унарных оператора сложения. При применении унарного плюса у объекта вызывается магический метод __pos__, то есть запись ++x можно понять как x.__pos__().__pos__(). Зная это, можно реализовать класс, который будет представлять число и поддерживать поведение инкремента. Код на картинке может показаться сначала немного сложным, но лучше проследить логику и понять работу метода __pos__. Если реализовать все остальные необходимо магические методы, то может получится полноценный класс числа, но в продакшне такие приколы лучше не писать. #магические_методы#__pos__

14,700 views

Publicado 7 mar

Лимит рекурсии В Python не поддерживается хвостовая рекурсия, из-за чего зачастую возникает RecursionError во время создания рекурсивных алгоритмов. Но с помощью модуля sys можно посмотреть и даже изменить максимальную глубину рекурсии. Однако делать это слегка опасно, так как каждый новый вызов занимает достаточно много памяти. И вообще лучше стараться использовать не рекурсию, а обычные циклы. #рекурсия#sys

14,900 views

Publicado 5 mar

Символы Юникода Добавлять юникод-символы в строковые литералы можно не только с помощью их номеров, но и по их названиям. Более того, такая запись символов юникода совместима и с f-строками, а это очень удобно. #строки#юникод

14,300 views

Publicado 2 mar

Функция reduce Модуль functools позволяет хорошо раскрыть функциональные возможности Python. Например, в functools есть интересная функция reduce, которая позволяет «сжимать» данные, применяя последовательно функцию и запоминая результат. Таким образом, в примере выше reduce умножает 1 на 2, затем результат этого умножения на 3 и так далее. #функции#reduce

15,200 views
12•••5•••10•••15•••20•••25•••30•••35•••40•••45•••50•••55•••60•••65•••70•••75•••808182838485