![David Arzumanyan](/img/default-banner.jpg)
- Видео 37
- Просмотров 48 682
David Arzumanyan
Россия
Добавлен 26 мар 2013
Подготовка к собесу. Легкий уровень на LeetCode заставит тебя вспотеть. Часть #1
Решаю задачу на LeetCode #1
00:29 Объединить отсортированный массив
• Задача: объединить два отсортированных массива в один, сохраняя порядок.
• Решение: использовать цикл для перебора элементов обоих массивов и добавлять элементы в новый массив.
07:40 Оптимизация решения
• Решение: использовать срезы для оптимизации добавления элементов.
• Результат: решение по оптимизации одно из самых быстрых, побившее 99% всех решений.
00:29 Объединить отсортированный массив
• Задача: объединить два отсортированных массива в один, сохраняя порядок.
• Решение: использовать цикл для перебора элементов обоих массивов и добавлять элементы в новый массив.
07:40 Оптимизация решения
• Решение: использовать срезы для оптимизации добавления элементов.
• Результат: решение по оптимизации одно из самых быстрых, побившее 99% всех решений.
Просмотров: 438
Видео
Написал программу на Python для скачивания и перевода видео с YouTube
Просмотров 915Месяц назад
Написал программу на Python для скачивания и перевода видео с RUclips 00:00 Создание программы для перевода видео • Автор рассказывает о создании программы, которая берет видео с RUclips и переводит его на русский язык. • Для этого используются модули moviepy, gtts, speech_recognition и googletrans. 02:53 Функции программы • Программа имеет четыре функции: видео downloader, translate video, tra...
5 идей для проектов на Python
Просмотров 483Месяц назад
Вот 5 отличных идей проектов Python, которые помогут вам лучше изучить программирование на Python. Помните, практика ведет к совершенству! 00:00 Введение 00:09 Сокращатель URL-адресов • Создание проекта, который сокращает URL-адреса, используя API и запросы. • Возможность настроить сокращенную версию ссылки для удобства пользователей. 01:08 Загрузчик изображений • Создание проекта, который авто...
Как Сделать ЛЮБУЮ Функцию Асинхронной В Python 3.12
Просмотров 1 тыс.Месяц назад
Как Сделать ЛЮБУЮ Функцию Асинхронной В Python 3.12 00:00:00 Превращение синхронной функции в асинхронную • В видео объясняется, как превратить любую синхронную функцию в асинхронную в Python. • Для этого используется модуль asyncio и функция await. 00:01:24 Пример использования asyncio • Создается пример скрипта, который проверяет, подключены ли к сети несколько веб-сайтов. • Для этого использ...
5 полезных трюков с F строками в Python
Просмотров 2,9 тыс.Месяц назад
5 самых полезных приемов форматирования f-строки, которые я использую каждый день в Python. 00:00 Введение 00:08 Форматирование чисел 01:20 Форматирование строк 02:50 Форматирование даты и времени 04:19 Форматирование чисел с плавающей точкой 05:39 Форматирование выражений 07:36 Итоги Видео взято с канала @Indently и переведено с помощью Яндекс.Браузера
Аннотации в Python с Mypy. Краткое руководство
Просмотров 1,1 тыс.Месяц назад
В сегодняшнем видео мы узнаем об аннотациях типов в Python, а также о том, почему я всегда стараюсь печатать все без исключений. 00:00 Введение 00:22 Начало работы 02:55 Mypy 04:14 Еще преимущества 06:54 Разве это не лишнее? 09:10 Ваши мысли Видео взято с канала @Indently и переведено с помощью Яндекс.Браузера
5 полезных декораторов Python
Просмотров 2 тыс.Месяц назад
5 полезных декораторов, которые помогут сделать ваш код более удобным в использовании! И большое спасибо @Carberra за участие в этом видео; обязательно загляните к нему, если вы любите Python! Репозиторий на Гитхабе: github.com/indently/five_decorators 00:00 Введение 00:26 @retry 02:10 Спонсор )) 02:18 @cache 04:49 @get_time 06:25 @deprecated 09:06 @on_exit 11:29 Удивительно Видео взято с канал...
20 советов и приемов на каждый день в Python
Просмотров 1,3 тыс.Месяц назад
Сегодня мы рассмотрим более 20 повседневных советов и приемов, которые вы можете использовать в своих скриптах Python! 00:00 Введение 00:06 Замена переменных 00:52 Обращение итераций 01:22 Умножение строк 02:07 Условия одной строки 02:48 Соединение строк 03:42 Получение значений 04:48 Получение и установка значений 06:00 Счетчики 07:07 Определяем начало 07:57 Объединение словарей 08:34 Форматир...
5 полезных методов Dunder в Python
Просмотров 702Месяц назад
Сегодня мы узнаем о 5 полезных методах дандер, которые мы можем использовать в Python. 00:00 Введение 00:07 _eq_ 03:05 _format_ 04:41 _or_ 07:10 _repr_ 09:26 _getitem_ 13:08 Что вы думаете? Видео взято с канала @Indently и переведено с помощью Яндекс.Браузера
5 советов по написанию функций Python
Просмотров 1,8 тыс.Месяц назад
В этом видео я покажу вам 5 советов и приемов, которые помогут вам лучше писать функции Python в 2024 году. 00:00 Совет №1 01:20 Совет №2 05:09 Совет №3 07:59 Совет №4 09:57 Совет №5 12:30 Ваши мысли Видео взято с канала @Indently и переведено с помощью Яндекс.Браузера
10 изящных способов использования подчеркивания в Python
Просмотров 598Месяц назад
Многие из вас, вероятно, видели, как подчеркивание используется в Python особым образом, но знаете ли вы все из них? В сегодняшнем видео я покажу вам 10 изящных способов использования подчеркивания в коде Python! 00:00 Введение 00:06 Последнее использованное значение 00:59 Змеиный случай 01:46 Форматирование чисел 02:59 Неважные ценности 04:01 Подчеркивание звездочкой 04:50 Для петель 05:48 Пол...
5 трюков в Python
Просмотров 1,2 тыс.2 месяца назад
Вот 5 замечательных и необычных функций Python, которые вы можете использовать в своих проектах Python. 00:00 Объекты slice 01:41 Операции со множествами 03:15 Форматирование 06:46 Оператор "морж" 10:14 Замыкания Видео взято с канала @Indently и переведено с помощью Яндекс.Браузера
5 хороших привычек в Python
Просмотров 1,9 тыс.2 месяца назад
5 хороших привычек, которые вы должны применять для работы в Python. 00:00 if _name_ ‘ main ’ 02:30 main() 04:05 Большие функции 06:58 Аннотации типов 12:39 Понимания списков 15:03 Конец 👍 Неплохие привычки! 😉 Видео взято с канала @Indently и переведено с помощью Яндекс.Браузера
5 функций python
Просмотров 2,1 тыс.2 месяца назад
В этом видео мы будем изучать 5 действительно крутых функций Python, которые я обожаю использовать на протяжении многих лет. 00:00 Введение 00:14 exec() 02:13 partial() 06:02 2 функции 09:21 3 функции 11:32 askopenfilename() 13:40 Подведение итогов Видео взято с канала @Indently и переведено с помощью Яндекс.Браузера
Ускорение кода на Python. 4 решения на уровне C++.
Просмотров 8743 месяца назад
У Python есть определенная репутация: он быстро пишется, но медленно работает. В этом видео мы сосредоточимся на простой для понимания задаче динамического программирования, которая будет ужасно медленной в родном Python или numpy. Мы показываем, что Python может достичь (и даже превзойти) производительность уровня C с помощью своевременных и опережающих компиляторов, таких как mypyc, Cython, n...
Решаю задачи по SQL. Часть 12. Подведение итогов конкурса.
Просмотров 2833 месяца назад
Решаю задачи по SQL. Часть 12. Подведение итогов конкурса.
Автоматическое включение / отключение VPN на iPhone за 2 минуты!
Просмотров 6593 месяца назад
Автоматическое включение / отключение VPN на iPhone за 2 минуты!
206 дней без перерыва. Решаю задачи по Python. Часть 10
Просмотров 1,4 тыс.3 месяца назад
206 дней без перерыва. Решаю задачи по Python. Часть 10
205 дней без перерыва. Решаю задачи по Python. Часть 9
Просмотров 8653 месяца назад
205 дней без перерыва. Решаю задачи по Python. Часть 9
204 дня без перерыва. Решаю задачи по Python. Часть 8
Просмотров 9683 месяца назад
204 дня без перерыва. Решаю задачи по Python. Часть 8
203 дня без перерыва. Решаю задачи по Python. Часть 7
Просмотров 1,4 тыс.3 месяца назад
203 дня без перерыва. Решаю задачи по Python. Часть 7
200 дней без перерыва. Решаю задачи по SQL. Часть 6
Просмотров 1,8 тыс.3 месяца назад
200 дней без перерыва. Решаю задачи по SQL. Часть 6
198-й день без перерыва. Решаю задачи по SQL. Часть 5
Просмотров 1,4 тыс.3 месяца назад
198-й день без перерыва. Решаю задачи по SQL. Часть 5
197-й день без перерыва. Решаю задачи по SQL. Часть 4
Просмотров 1,8 тыс.3 месяца назад
197-й день без перерыва. Решаю задачи по SQL. Часть 4
194-й день без перерыва. Решаю задачи по SQL. Часть 3
Просмотров 1,8 тыс.3 месяца назад
194-й день без перерыва. Решаю задачи по SQL. Часть 3
Решаем задачи по SQL. Оконные функции. Часть 2
Просмотров 1444 месяца назад
Решаем задачи по SQL. Оконные функции. Часть 2
А как правильно указать тип возвращаемого значения для тех случаев, когда функция возвращает не одно значение а несколько и они разного типа?
from types import Union def s() -> Union[int,str] В python 3.10 def s() -> int | str Наврн тебе уже не надо. Оставлю для других.
Хотел посмотреть, но машинная озвучка отбила желание.
Сожалею, другой пока нет (
ребята учите английский и смотрите оригинальные уроки Indently, умоляю
Да, в оригинале всегда лучше смотреть
на кой чёрт вообще смотреть видео о 5 строках кода, которые все можно разом разместить в листинге на один экран😂
9:44 Присоединяйся и мы соединим эти слова, потому что я не хочу считать пустые места Нейросеть так смешно переводить вставки кода
Да, бывает иногда очень забавно)
Спасибо за видео! Но музончик фоновый громковат для голоса, его бы потише делать в будущем)
Спасибо, постараюсь в следующий раз поправить громкость.
Еще момент... не получилось сделать что бы обработка видео делалась не на CPU+RAM а на GPU было бы классно если бы расширил свою идею и сделал проект на GPU что бы обрабатывался тк повторюсь, если видео огромное, получается долго...
Спасибо за идею, если подскажешь модуль для работы с gpu - буду благодарен
Есть момент, если видео очень длинное, оно не будет переведено, нужно бить на куски аудио дорожку, потом из каждой дорожки извлекать текст во едино, и потом переводить его как ты и сделал. Разбиение на куски, допустим минутные, даст более точное распознавание текста, по крайней мере у меня так вышло, особенно если речь не совсем внятная или искаженная что бы не узнать голос. написал свой переводчик на основе твоей идеи за 2 вечера... перевел одно видео которое давно не мог найти на русском, тк его попросту нету на русском, загружать на ютюб его то же нельзя, тк оно запрещено ютюбом почему то... те с ютюба через Яндекс не прокатит перевести его... тк ютюб его сразу удаляет... А своих знаний не хватает не много что бы понять детали видео, о чем говориться в видео которое я хочу глянуть. теперь на днях подкастом послушаю наконец то ! спасибо огромнейшее за идею! Не догадался...
Да, все верно. Я тоже над этим думал, что перевод не синхронизирован с оригиналом по таймингу и нужно отдельным скриптом это исправлять. Был бы рад взглянуть на твой вариант решения задачи по переводу видео - очень интересно как ты к этому подошел. И рад, что подкинул тебе идею ))
пон
Спасибо за комментарий
Где можно найти исходные материалы?
Напишите мне почту, отправлю вам файл. На гитхабе пока не разбирался как выкладывать проекты
Что, yt-dlp написали? Хотя упражнение неплохое, согласен.
Спасибо за комментарий
Если он скачивает в отличии от dlp , то супер. А если так же работает, то 😢
@@bashirkhautiev3707 у меня именно dlp и скачивал видео, а pytube упорно выбрасывал. ошибку. На стековерфлоу находил описание по ее устранению - но и оно тоже не помогало.
@@bashirkhautiev3707 Интересно, и где же это yt-dlp не работает? Держите актуальную версию и все будет хорошо.
Интересно, но кейс рассматривает очень простенькие задачи, и кстати можно потом через ffmpeg аудио с видео сшивать вместе, если сделаете распознавание на разных языках и по предложениям буду рад посмотреть на реализацию, и есть возможность синтезировать текс на разных языках и с разными голосами, тоже классно такое увидеть
Спасибо за комментарий и за подсказку, буду думать дальше в этом направлении.
вторая функция на самом деле ультра бесполезна, если хоть чуть чуть уметь в классы: 1. если возникает сложность с тем что функция принимает много аргументов, являющиеся данными (как пример: def func(user_id: int, user_name: str, user_login: str, user_password_hash: str), то проще и правильнее при любом расскладе создать тип User, который уже и будет хранить эти параметры (def func(User user)) но, да, бывают ситуации, когда функция принимает большое количество параметров, которые не принято вылять в отдельный тип (как пример, любой метод сервиса, может принимать cancellationtoken, какой то тип, разные парматетры), но в таком случае обычно просто в эту функуию вводятся данные по-умолчанию. 2. странная ситуация, когда тебе нужно вызывать какую то функцию большое количество раз с одинаковыми параметрами: обычно в одном месте функция вызывается единожды или в цикле. За всю жизнь встречался такой случай один раз, но мне как будто ничего не мешало захардкодить буквально 10 строк кода, при этом качество не пострадало. так то если есть ситуация где нужно применить, базару ноль, это хорошее решение. но я просто что то не могу представить себе такую ситуацию
Спасибо за комментарий
пайтон 3 целых 12 сотых))
Спасибо за комментарий
Здравствуйте! А где можно найти части 7, 8, 9 и 10?
У меня на канале в плей-листе «программирование»
@@DavidArzumanyan и на канале, и в плей-листе по 6, а потом сразу 11 и 12. Не знаю, почему так
ахахахах, суперсмешное видео
Спасибо за комментарий
"Потому что у Тимати самая длинная длина" питона наверное😂
Спасибо за комментарий
@@DavidArzumanyan пожалуйста
Машинный перевод конечно не очень
Да, есть минусы в таком переводе
Она не стала асинхронной, ты просто кинул её в отдельный поток
Сама функция не стала, но способ ее вызыва как раз таки стал асинхронным.
@@DavidArzumanyan а зачем вызывать асинхронно блокирующую функцию?
Разве эвейт не делает последовательное выполнение? нужно вызывать асинкио вайт или гатхер
пока точно не могу ответить на ваш вопрос, сам еще с модулем этим не разбирался детально
Да asyncio.gather(*tasks) запускает задачи конкурентно
Очень полезно, продолжай в том же духе! 🤩
Спасибо)) Буду стараться
Можно ссылку на ориг?
Конечно ruclips.net/video/EoNOWVYKyo0/видео.htmlsi=ex4ApbzYNOmXZsgc
а почему он пишет n: int=1? как такая запись числа называется?
Это аннотация типов (то есть мы как некую заметку указываем, что переменная n имеет целочисленный тип) :) В данном случае она не несёт особого смысла, поскольку в записи без аннотации n = 1 и так понятно, что переменная имеет тип int
@@user-vz4mh3zd1f Большое спасибо! Я в принципе догадывался, но теперь понял , что и так можно делать для лучшей читаемости кода) Буду знать
Спасибо, за ваше объяснение 🙏
@@gaiyulicesar не только читабельность. Аннотации помогают интерпритатору делать подсказки методов объекта. А так же почитай что такое линтер, например MyPy
👍👍
Спасибо за комментарий
Уебанский перевод от ИИ, зачем делать видосы с таким переводом ? Я без претензий, просто зачем ?
Спасибо за комментарий. Просто чтобы был хоть какой-то перевод )) и такой перевод сделать намного проще)
Гвидо: добавляет в язык динамическую типизацию, чтобы повысить читаемость кода David Arzumanyan: описывает тип для каждого свойства
))
Тайпхинты помогают в иде очень сильно
@@dann1kid Я все же осмелюсь спросить, как
@@antonkostrikov123 Когда проект большой, то иде подсказывает что возвращаемый тип не подходит.
@@dann1kid питон это, конечно, не мой стек, но что-то мне подсказывает, что подсказки будут не нужны, если соблюдать нормальный нейминг функций :D
С помощью exec можно засунуть нежелательный код, что не очень безопасно Upd: тоже самое с eval
Все верно, в видео об этом тоже предупреждали
Ну если ты не используешь конечно exec(input()), в целом можно проследить за входными данными и спокойно использовать exec() К примеру, можно еще обезопаситься ограничив пространство или даже полностью его очистить: ``` globals_protection = {'__builtins__' : None} locals_protection = {'print': print, 'int': int} # Разрешено использовать только print() и int() locals_deny = {'__builtins__': None} # Полное ограничение языка, до выражений exec('print(int("123"))', globals_protection, locals_protection) # -> 123 exec('print(pow(2,3))', globals_protection, locals_protection) # -> TypeError exec('print(123)', globals_protection, locals_deny) # -> TypeError ```
это пиздец люди уже просто пиздят видосы не приложив абсолютно никакого труда и просто заливают
К сожалению, это не моя идея брать чужие видосы и переделывать их под себя, так делают многие популярные блогеры. Присмотритесь к популярным видео на разных языках - прлюбому будут клоны. А я хоть в подписи к видео указываю первоисточник, откуда оно было взято, чтобы хоть как-то поддержать настоящего автора
В расте как помне антонирование реалезованно лучше, компилятор сам понимает тип данных не позволяя менять тип данных и редко когда приходиться юзать антонирование. (Тип данных можно менять только если заново обьявив переменную)
Спасибо за комментарий, раст пока еще не изучал сам
Это не только в расте так, а во всех статически типизированных языках.
@@LeonRussia8ypa да, но лсп с которым он поставляется выводит антонирование сам возможно это есть и для других языков
Классный механизм, всё стараюсь начать использовать, благодарю
Спасибо за комментарий
Электрохарчування немаЭ уже два дни
Спасибо за комментарий
А чего без ссылки на оригинал-то?
В описании в конце есть ссылка на оригинал
@@DavidArzumanyan Есть ссылка на Github и текстовое указание автора, никакой ссылки на оригинал
Спасибо что написали, поправил чтобы ссылка на автора была именно ссылкой, а не текстом. Я в первом видео когда ее вставлял, оно мне как ссылкой выдавалось, я думал при копировании будет оставаться ссылка. Нужно сейчас везде тогда поправить.
Это правда полезные советы, больше всего мне нравится применение магических методов которые пишутся с 4 нижними подчёркиваниями, хотел бы увидеть их целиком в одном видео
Спасибо за ваш комментарий
Когда я посмотрел раздел вызываемые методы я вспомнил, что меня учили на первом курсе замыканиям в питоне. Грубо говоря замыкания это функция которая объявляется внутри функции возвращей внутреннюю функцию. Например можно передать в def multipier (a: int): return double число равное 2, которое затем будет использовано для объявления функции def double(b: int): return a*b, которая объявляется внутри multipier (до return).
Спасибо за ваш комментарий
Воу, это очень полезные функции я бы хотел продолжения!
Спасибо за комментарий, обязательно будет продолжение)
Я смотрел это видео, когда произошло то что я увидел. Хорошо, что я видел, потому что если бы только слышал, то мог не понять, что я услышал.
Ну что поделать, такой вот перевод. Мне один раз Яндекс браузер фразу "Let's take new hash" перевел как "давайте возьмем новый гашиш"))), хотя речь была про хеш-функцию
@@DavidArzumanyan лишь бы понятно было о чём речь, зато интересно получилось :)
Интересно! Супер!
Спасибо за комментарий
Яркость текста заставляет напрягать глаза
Спасибо за комментарий, учту ваше пожелание в следующих видео
"здвездочка что бы заставить пользователя вводить аргументы..?". Создав аргументы без данных по умолчанию, пользователь/разработчику в любом случае придется передать аргументы
но лайк все равно поставил видосу
Спасибо за ваш комментарий.
6:35 itertools.permutations и в самом деле не поддерживает индексацию - это просто функция. А внутри функции (в том числе и main) аннотации вообще не вычисляются: в __annotations__ попадают лишь параметры и возврат. По идее tkinter читается как «тик-инте», если вспомнить откуда ноги растут (Tcl/Tk - «тикл тик», ага). 😉
Спасибо за Ваши разъяснения, очень интересно
Пасяб дядя
спасибо за комментарий)
Я бы добавил, что функция сама по себе должна иметь блок кода такой, который может быть обоснован в имени самой функции. То есть, функция должна делать что-то одно, и это должно быть отображено в ее названии, и ни в коем случае функция не должна делать что-то еще помимо ее первоначального смысла
Согласен полностью 👍, спасибо за комментарий
да, даёшь нормальные советы по питону в массы. спасибо что сделал этот уголок интернета более просветлённым в написании кода тонкая работа с гпт))
Спасибо за комментарий
cool
Thanks
Украдено с канала www.youtube.com/@Indently/videos
В подписи к видео так и указано, что видео взято с этого канала и переведено яндекс.браузером. Было бы украдено, если об этом не было открыто сказано, а так - это уже не воровство)
@@DavidArzumanyan не увидел. Дико извиняюсь. Спасибо за перевод
Это реально полезно
Спасибо за комментарий, рад что видео оказалось полезным для вас)
Мда жесть конечно такое говно показывать я просто в а**е
Очень жаль, что для Вас видео оказалось не релевантным.
渠道不好!!
"Канал не плохой" - специально перевел ваш комментарий) спасибо за оценку канала))
Ужас!
Спасибо за 2-й ваш хейтерский комментарий))
Я в под каждым видео указываю его источник - не нравиться мои видео, смотрите в оригинале на английском )
прикольные штучки!
спасибо за комментаррий))
Да треш,
интересно, что именно "треш! по вашему)