unittest - стандартный модуль для написания и запуска тестов, обеспечивающий надежный способ проверки функциональности вашего кода.
unittest позволяет вам определять тестовые случаи и проверять различные аспекты вашего кода на предмет соответствия ожидаемым результатам. Это помогает улучшить стабильность и надежность вашего кода, так как позволяет автоматизировать процесс проверки, особенно при внесении изменений.
В примере выше мы импортируем модуль unittest и создаем класс TestAddFunction, наследующийся от unittest.TestCase. Внутри этого класса мы определяем два метода для тестирования функции add(). Методы начинаются с test_ и содержат проверки, используя методы self.assertEqual(), чтобы убедиться, что результаты вызовов функции add() соответствуют ожидаемым значениям.
Затем, используя unittest.main(), мы запускаем все тесты из данного модуля.
Подробнее тут :3
unittest позволяет вам определять тестовые случаи и проверять различные аспекты вашего кода на предмет соответствия ожидаемым результатам. Это помогает улучшить стабильность и надежность вашего кода, так как позволяет автоматизировать процесс проверки, особенно при внесении изменений.
В примере выше мы импортируем модуль unittest и создаем класс TestAddFunction, наследующийся от unittest.TestCase. Внутри этого класса мы определяем два метода для тестирования функции add(). Методы начинаются с test_ и содержат проверки, используя методы self.assertEqual(), чтобы убедиться, что результаты вызовов функции add() соответствуют ожидаемым значениям.
Затем, используя unittest.main(), мы запускаем все тесты из данного модуля.
Подробнее тут :3
👍33❤🔥3❤2
🍳 Задача по Python #35
Описание
Напишите функцию calculate_rpn, которая принимает строку, представляющую выражение в Обратной Польской Нотации, и возвращает результат его вычисления.
Примеры
Кодом делиться через pastebin.org или repl.it.
#задачи
Описание
Напишите функцию calculate_rpn, которая принимает строку, представляющую выражение в Обратной Польской Нотации, и возвращает результат его вычисления.
Примеры
calculate_rpn('5 3 + 8 * 4 /') # 16Свой вариант решения в комментарии 💭
Кодом делиться через pastebin.org или repl.it.
#задачи
👍9⚡1
cProfile — встроенный модуль, который представляет собой встроенный инструмент для профилирования кода.
cProfile предназначен для анализа производительности программы, выявления узких мест, определения времени выполнения отдельных функций и количества вызовов.
Отчет cProfile включает информацию о:
• Общем времени выполнения.
• Количество вызовов функции.
• Среднем времени выполнения.
• Самых "горячих" участках кода, где функция занимает больше всего времени.
Так-же вы можете запустить анализ из командой строки таким способом:
cProfile предназначен для анализа производительности программы, выявления узких мест, определения времени выполнения отдельных функций и количества вызовов.
Отчет cProfile включает информацию о:
• Общем времени выполнения.
• Количество вызовов функции.
• Среднем времени выполнения.
• Самых "горячих" участках кода, где функция занимает больше всего времени.
Так-же вы можете запустить анализ из командой строки таким способом:
python3 -m cProfile main.py
Подробнее тут :3👍35❤🔥10
Please open Telegram to view this post
VIEW IN TELEGRAM
😢133🤡20👍8🐳4😱3🌚3💯2❤1⚡1❤🔥1🤩1
hashlib — встроенная библиотека, предоставляющая интерфейс для хеширования данных с использованием различных алгоритмов хеширования.
hashlib предоставляет такие алгоритмы хеширования как: MD5, SHA-1, SHA-256 и других. Хеширование - это процесс преобразования произвольных данных в фиксированный хеш-код фиксированной длины. Этот хеш-код обычно используется для проверки целостности данных, хранения паролей в безопасной форме и других задач, связанных с обеспечением безопасности.
В этом примере мы использовали алгоритм SHA-256 для хеширования строки "xo_py". Мы создали объект хеша, обновили его с нашими данными, а затем получили хеш в шестнадцатеричном формате с помощью метода hexdigest(). Хеширование данных может использоваться для создания цифровых подписей, проверки целостности файлов, хранения паролей и других задач, требующих обеспечения безопасности данных.
Подробнее тут :3
hashlib предоставляет такие алгоритмы хеширования как: MD5, SHA-1, SHA-256 и других. Хеширование - это процесс преобразования произвольных данных в фиксированный хеш-код фиксированной длины. Этот хеш-код обычно используется для проверки целостности данных, хранения паролей в безопасной форме и других задач, связанных с обеспечением безопасности.
В этом примере мы использовали алгоритм SHA-256 для хеширования строки "xo_py". Мы создали объект хеша, обновили его с нашими данными, а затем получили хеш в шестнадцатеричном формате с помощью метода hexdigest(). Хеширование данных может использоваться для создания цифровых подписей, проверки целостности файлов, хранения паролей и других задач, требующих обеспечения безопасности данных.
Подробнее тут :3
👍26❤2😁1
threading — модуль, который позволяет создавать и управлять потоками выполнения.
Потоки - это легковесные, отдельные последовательности выполнения, которые позволяют программе эффективно выполнять несколько задач одновременно(почти), даже на одном процессоре. Это отличный способ обеспечить параллельность и ускорить выполнение задач в многозадачных приложениях.
Модуль threading предоставляет класс Thread, который можно использовать для создания потоков. Он позволяет запускать функции или методы в разных потоках, а также управлять их жизненным циклом, остановкой и синхронизацией.
В примере выше мы создали два потока - t1 и t2. Первый поток вычисляет факториал числа 5, а второй поток выполняет возведение числа 2 в степень 3. Оба потока работают параллельно и независимо друг от друга.
Каждый поток запускается методом start(), а затем метод join() блокирует основной поток до тех пор, пока оба потока t1 и t2 не завершат свою работу.
Подробнее тут :3
Потоки - это легковесные, отдельные последовательности выполнения, которые позволяют программе эффективно выполнять несколько задач одновременно(почти), даже на одном процессоре. Это отличный способ обеспечить параллельность и ускорить выполнение задач в многозадачных приложениях.
Модуль threading предоставляет класс Thread, который можно использовать для создания потоков. Он позволяет запускать функции или методы в разных потоках, а также управлять их жизненным циклом, остановкой и синхронизацией.
В примере выше мы создали два потока - t1 и t2. Первый поток вычисляет факториал числа 5, а второй поток выполняет возведение числа 2 в степень 3. Оба потока работают параллельно и независимо друг от друга.
Каждый поток запускается методом start(), а затем метод join() блокирует основной поток до тех пор, пока оба потока t1 и t2 не завершат свою работу.
Подробнее тут :3
⚡28👍4🤔1🤯1
🥚 Задача по Python #36
Описание
Напишите функцию find_average, которая будет принимать список чисел и возвращать среднее значение всех элементов списка.
Примечание: Убедитесь, что функция корректно обрабатывает случай пустого списка, чтобы избежать деления на ноль.
Примеры
Кодом делиться через pastebin.org или repl.it.
#задачи
Описание
Напишите функцию find_average, которая будет принимать список чисел и возвращать среднее значение всех элементов списка.
Примечание: Убедитесь, что функция корректно обрабатывает случай пустого списка, чтобы избежать деления на ноль.
Примеры
find_average([5, 10, 15, 20]) # 12.5Свой вариант решения в комментарии 💭
Кодом делиться через pastebin.org или repl.it.
#задачи
❤18❤🔥1
timeit — встроенный модуль, предназначенный для измерения времени выполнения небольших фрагментов кода.
Измерение времени выполнения с использованием timeit более надежно, чем обычное использование функции time из модуля time, так как timeit автоматически устраняет некоторые факторы, могущие повлиять на точность измерения, такие как колебания времени выполнения, вызванные другими процессами.
Этот инструмент особенно полезен при оценке производительности различных решений и оптимизации кода.
На примере выше мы используем timeit для измерения времени выполнения двух различных способов объединения строк. Результаты помогут вам сделать более обоснованный выбор, какой способ использовать в зависимости от производительности.
Подробнее тут :3
Измерение времени выполнения с использованием timeit более надежно, чем обычное использование функции time из модуля time, так как timeit автоматически устраняет некоторые факторы, могущие повлиять на точность измерения, такие как колебания времени выполнения, вызванные другими процессами.
Этот инструмент особенно полезен при оценке производительности различных решений и оптимизации кода.
На примере выше мы используем timeit для измерения времени выполнения двух различных способов объединения строк. Результаты помогут вам сделать более обоснованный выбор, какой способ использовать в зависимости от производительности.
Подробнее тут :3
⚡22👍11🐳2❤🔥1
dateutil — модуль, который предоставляет множество функций для работы с датами и временем.
dateutil предоставляет более удобные методы для разбора, форматирования и манипулирования датами, чем стандартный модуль datetime. Благодаря dateutil, вы можете избежать множества сложностей, связанных с обработкой дат и времени в различных форматах.
dateutil значительно упрощает обработку дат и времени, позволяя избежать рутины вроде ручного разбора строк и расчетов дат. Это особенно полезно при разработке программ, связанных с анализом данных, расписаниями и другими временными операциями.
Пример довольно прост, поэтому объяснению не подлежит😶
Ставится командой ⚙️
dateutil предоставляет более удобные методы для разбора, форматирования и манипулирования датами, чем стандартный модуль datetime. Благодаря dateutil, вы можете избежать множества сложностей, связанных с обработкой дат и времени в различных форматах.
dateutil значительно упрощает обработку дат и времени, позволяя избежать рутины вроде ручного разбора строк и расчетов дат. Это особенно полезно при разработке программ, связанных с анализом данных, расписаниями и другими временными операциями.
Пример довольно прост, поэтому объяснению не подлежит
Ставится командой ⚙️
pip3 install python-dateutil
Документация и примеры кода здесь :3Please open Telegram to view this post
VIEW IN TELEGRAM
👍25⚡1
🐣 Задача по Python #37
Описание
Напишите генератор, который будет генерировать последовательность чисел Фибоначчи, но с ограничением по максимальному значению. Генератор должен прекратить работу, когда очередное число Фибоначчи превысит заданное ограничение.
Примеры
Кодом делиться через pastebin.org или repl.it.
#задачи
Описание
Напишите генератор, который будет генерировать последовательность чисел Фибоначчи, но с ограничением по максимальному значению. Генератор должен прекратить работу, когда очередное число Фибоначчи превысит заданное ограничение.
Примеры
for num in fibonacci_with_limit(100):Свой вариант решения в комментарии 💭
print(num) # 1 1 2 3 5 8 13 21 34 55 89
Кодом делиться через pastebin.org или repl.it.
#задачи
👍20❤1
wxPython — библиотека, предоставляющая инструменты для создания графического пользовательского интерфейса (GUI).
Она основана на библиотеке wxWidgets(библиотека для C++) и позволяет разрабатывать кроссплатформенные приложения с помощью нативных элементов интерфейса для различных операционных систем.
wxPython включает в себя множество готовых виджетов и элементов интерфейса, таких как кнопки, текстовые поля, таблицы, деревья и другие, что позволяет легко создавать разнообразные пользовательские интерфейсы.
Библиотека так-же обеспечивает создание GUI-приложений, которые могут работать на различных операционных системах, таких как Windows, macOS и Linux.
Ставится командой ⚙️
Она основана на библиотеке wxWidgets(библиотека для C++) и позволяет разрабатывать кроссплатформенные приложения с помощью нативных элементов интерфейса для различных операционных систем.
wxPython включает в себя множество готовых виджетов и элементов интерфейса, таких как кнопки, текстовые поля, таблицы, деревья и другие, что позволяет легко создавать разнообразные пользовательские интерфейсы.
Библиотека так-же обеспечивает создание GUI-приложений, которые могут работать на различных операционных системах, таких как Windows, macOS и Linux.
Ставится командой ⚙️
pip3 install wxPython
Документация и примеры кода здесь :3👍33🤡3⚡2❤🔥1