Секреты Python Pro
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

автордың кітабынан сөз тіркестері  Секреты Python Pro

Eugene H.
Eugene H.дәйексөз келтірді3 сағат бұрын
python -m timeit "total = sum(range(1000))"
Комментарий жазу
Eugene H.
Eugene H.дәйексөз келтірді4 сағат бұрын
Тщательная настройка производительности кода может занять столько же времени, сколько его написание.
Комментарий жазу
Damir K.
Damir K.дәйексөз келтірді4 апта бұрын
Модуль timeit в Python — это инструмент для тестирования времени выполнения фрагментов кода. Он может быть использован из командной строки или непосредственно в коде для большего контроля. Модуль timeit удобен для санитарной проверки планируемых изменений в производительности. Давайте измерим, сколько времени нужно, чтобы просуммировать целые числа от 0 до 999. Для начала из командной строки активируйте модуль timeit: python -m timeit "total = sum(range(1000))" timeit выполнит код суммирования много раз и в итоге выведет некоторую статистику о времени выполнения: 20000 loops, best of 5: 18.9 usec per loop Из этого результата можно сделать вывод, что суммирование от 0 до 999 обычно занимает менее 20 микросекунд.
Комментарий жазу
Damir K.
Damir K.дәйексөз келтірді4 апта бұрын
К счастью, не нужно строить диаграмму каждой функции и метода, которые вы пишете. Целый ряд инструментов, таких как SonarQube (www.sonarqube.org) и Radon (https://radon.readthedocs.io), может сделать это за вас. Эти инструменты можно даже интегрировать в редакторы кода, в результате чего вы получите возможность разбивать сложный код по мере разработки.
Комментарий жазу
Damir K.
Damir K.дәйексөз келтірді1 ай бұрын
Барбара Лисков, профессор Массачусетского технологического института (MIT), разработала принцип, описывающий концепцию подстановки (замещения) в наследовании. Этот принцип гласит, что в программе любой экземпляр класса должен быть пригодным для замещения экземпляром одного из его подклассов без ущерба для правильности программы.23Правильность в этом контексте означает, что программа остается безошибочной и достигает тех же базовых результатов, хотя точный результат может быть другим или достигнут другим способом. Подстановка возникает из-за того, что подклассы строго придерживаются интерфейса своих суперклассов.
Комментарий жазу
Damir K.
Damir K.дәйексөз келтірді1 ай бұрын
Этот код должен дать вам тот же результат, что и раньше. Может показаться, что мы переложили проблему, но это обеспечило определенную степень свободы. Теперь вы можете создавать любую причудливую шину или раму, которую пожелаете, и использовать ее вместо базовых версий. До тех пор пока класс FancyTire имеет те же методы и атрибуты, что и любая другая шина, велосипеду будет все равно.
Комментарий жазу
Валерий К.
Валерий К.дәйексөз келтірді1 ай бұрын
Разделение ответственности означает очерчивание контура вокруг кода, занятого конкретной операцией
Комментарий жазу
Валерий К.
Валерий К.дәйексөз келтірді1 ай бұрын
Интеграционный тест для класса ShoppingCart
Комментарий жазу
Валерий К.
Валерий К.дәйексөз келтірді1 ай бұрын
. Юнит-тесты предназначены для проверки поведения малых фрагментов ПО, поэтому без интеграционных тестов трудно сказать, работают ли эти малые фрагменты вместе, чтобы произвести что-то полезное как единое целое
Комментарий жазу
Валерий К.
Валерий К.дәйексөз келтірді1 ай бұрын
Класс ShoppingCart содержит методы добавления и удаления товара путем управления данными в словаре.
Комментарий жазу