Прилетел issue по-поводу 7го примера с product
Стоит отметить, что после повторных тестов, product оказался медленней обычных циклов for, поэтому я продолжил тесты, и нашел другую реализацию, которая работает в 2-3 раза быстрее, чем обычные циклы.
Речь идет именно о переборе всех комбинаций, как это и делает product. Пример с кодом есть в issue.
Благодарю Devil666face за внесенные правки.
Стоит отметить, что после повторных тестов, product оказался медленней обычных циклов for, поэтому я продолжил тесты, и нашел другую реализацию, которая работает в 2-3 раза быстрее, чем обычные циклы.
Речь идет именно о переборе всех комбинаций, как это и делает product. Пример с кодом есть в issue.
Благодарю Devil666face за внесенные правки.
👍17🔥4
Если вдруг у вас появится желание потроллить других разработчиков, и заставить их часами искать ошибки, то этот код будет идеальным решением.
Мы перехватываем хук на исключения, и игнорируем любые действия, в итоге все ошибки в коде будут завершаться нормально, как будто ничего не произошло 😁
Мы перехватываем хук на исключения, и игнорируем любые действия, в итоге все ошибки в коде будут завершаться нормально, как будто ничего не произошло 😁
😁42👍8🤔5🔥2
Представляю вашему вниманию самый странный код, который позволяет манипулировать стектрейсом.
Если кто не понял — объясняю, перехватывают исключения и поднимают raise, с той целью, чтобы это новое исключение, прилепить к старому в traceback. К какому исключению лепить новую ошибку, указываем в from:
raise RuntimeError() from err
Если вызвать следующий код, то будет подниматься RuntimeError игнорируя исключение на уровень выше:
raise RuntimeError() from None
Вы что-то поняли?)
😁 - Нет
🔥 - Да
Если кто не понял — объясняю, перехватывают исключения и поднимают raise, с той целью, чтобы это новое исключение, прилепить к старому в traceback. К какому исключению лепить новую ошибку, указываем в from:
raise RuntimeError() from err
Если вызвать следующий код, то будет подниматься RuntimeError игнорируя исключение на уровень выше:
raise RuntimeError() from None
Вы что-то поняли?)
😁 - Нет
🔥 - Да
😁134🔥38🤔8👍4🤯1
Дополнение к видео выше.
В Python есть несколько исключений, которые не могут быть перехвачены классом Exception. Например:
- KeyboardInterrupt: это исключение возникает, когда пользователь прерывает выполнение программы, нажимая Ctrl+C
- SystemExit: это исключение вызывается через sys.exit(), которая используется для выхода из интерпретатора Python
- GeneratorExit: Это исключение вызывается при закрытии генератора или сопрограммы
Они наследуются от класса BaseException, который является родительским классом Exception. Поэтому Exception не сможет их обработать.
Чтобы поймать эти исключения, вы можете использовать класс BaseException как универсальный обработчик исключений, или вы можете перехватывать каждое исключение по отдельности.
В Python есть несколько исключений, которые не могут быть перехвачены классом Exception. Например:
- KeyboardInterrupt: это исключение возникает, когда пользователь прерывает выполнение программы, нажимая Ctrl+C
- SystemExit: это исключение вызывается через sys.exit(), которая используется для выхода из интерпретатора Python
- GeneratorExit: Это исключение вызывается при закрытии генератора или сопрограммы
Они наследуются от класса BaseException, который является родительским классом Exception. Поэтому Exception не сможет их обработать.
Чтобы поймать эти исключения, вы можете использовать класс BaseException как универсальный обработчик исключений, или вы можете перехватывать каждое исключение по отдельности.
🔥29👍8
🥸 Очень часто на почту прилетают письма с попыткой развести на открытие файла. Пишу пост с целью уберечь вас от подобных инцидентов.
Вам могут предложить абсолютно всё что угодно, и скинуть якобы документ или видео, которое надо посмотреть, чтобы продолжить диалог.
Но когда такой архив открываешь, то видишь там исполняемый файл в различных форматах, это может быть: exe, scr, bin и т.д.
Никогда не открывайте такие файлы, а желательно заведите отдельную виртуальную машину для открытия любых подобных файлов. В ином случае отработает вирус и сворует ваши данные.
Чтобы дать ответную реакцию, можете залить их вирус на VirusTotal и подобные сканеры, чтобы испортить им сигнатуры, за чистку которых они платят немалые деньги.
Вам могут предложить абсолютно всё что угодно, и скинуть якобы документ или видео, которое надо посмотреть, чтобы продолжить диалог.
Но когда такой архив открываешь, то видишь там исполняемый файл в различных форматах, это может быть: exe, scr, bin и т.д.
Никогда не открывайте такие файлы, а желательно заведите отдельную виртуальную машину для открытия любых подобных файлов. В ином случае отработает вирус и сворует ваши данные.
Чтобы дать ответную реакцию, можете залить их вирус на VirusTotal и подобные сканеры, чтобы испортить им сигнатуры, за чистку которых они платят немалые деньги.
😁33👍31🤯1
Как и обещал, прикрепляю код, для формирования qr-кода в памяти.
В дальнейшем мы можем передавать этот файл практически любым образом, без необходимости записывать его на диск.
Об этом примере говорил в следующем видео.
Также напоминаю, что после 1000 лайков под этим видео, сделаю отдельный материал о mmap, который позволяет работать с очень большими файлами.
В дальнейшем мы можем передавать этот файл практически любым образом, без необходимости записывать его на диск.
Об этом примере говорил в следующем видео.
Также напоминаю, что после 1000 лайков под этим видео, сделаю отдельный материал о mmap, который позволяет работать с очень большими файлами.
🔥41👍20😁1