Что будет выведено на экран?
Anonymous Quiz
19%
[1] [] [2]
33%
Исключение
10%
1 0 2
23%
1 [] 2
15%
Другое
Календарь в Python
Существует замечательный встроенный модуль
Существует замечательный встроенный модуль
calendar, позволяющий работать с датами. Некоторые возможности, такие как проверка, високосный ли год, показаны на картинке. Для углубления в работу с модулем можно ознакомиться с документацией.Какая из перечисленных инструкций выполнится быстрее всего при n = 10 ** 6?
Anonymous Quiz
16%
arr = list(i for i in range(n))
29%
arr = [i for i in range(n)]
41%
arr = (i for i in range(n))
14%
arr = {i for i in range(n)}
Быстрый deque
Для
deque предпочтительнее, чем обычный список, когда нужны более быстрые операции добавления и вытаскивания элементов с начала и конца контейнера.deque обеспечивает линейную сложность O(1) для операций добавления и выталкивания, у стандартного списка сложность по этим операциям O(n).Для
deque есть возможность использовать стандартные функции — sum, min, max и другие.Случайные числа с модулем random
Иногда возникает необходимость быстро получить случайное число из заданного диапазона, либо из массива. Существует встроенный модуль random (установка не требуется), имеющий множество функций для работы со случайными числами.
В первом примере мы получаем случайное число от 1 до 10, при этом последняя переданная единица — шаг, т. е. если бы мы передали не её, а например двойку, случайное число бы искалось из диапазона 1, 3, 5 и т. д.
С документацией можно ознакомиться по ссылке.
Иногда возникает необходимость быстро получить случайное число из заданного диапазона, либо из массива. Существует встроенный модуль random (установка не требуется), имеющий множество функций для работы со случайными числами.
В первом примере мы получаем случайное число от 1 до 10, при этом последняя переданная единица — шаг, т. е. если бы мы передали не её, а например двойку, случайное число бы искалось из диапазона 1, 3, 5 и т. д.
С документацией можно ознакомиться по ссылке.
Лямбда-функции
Это удобный способ создавать функции в одну строчку, но новичков он часто ставит в тупик. Для создания лямбда-функции необходимо присвоить ей значение, начинающееся со слова lambda, после которого через запятую указать переменные, а затем через двоеточие разместить тело функции. Писать return не надо — автоматически возвращается вычисленное значение.
Это удобный способ создавать функции в одну строчку, но новичков он часто ставит в тупик. Для создания лямбда-функции необходимо присвоить ей значение, начинающееся со слова lambda, после которого через запятую указать переменные, а затем через двоеточие разместить тело функции. Писать return не надо — автоматически возвращается вычисленное значение.
Проигрывание аудио с playsound
Данный пакет содержит всего одну функцию для проигрывания аудиофайлов. На вход эта функция принимает адрес файла в файловой системе компьютера.
Данный пакет содержит всего одну функцию для проигрывания аудиофайлов. На вход эта функция принимает адрес файла в файловой системе компьютера.
Легковесный веб-фреймворк
Bottle – это быстрый микро-веб-фреймворк на Python. Список основных возможностей: роутинг, шаблоны, POST-роутинг, обработка форм, кукисы, сервер.
Пример кода с картинки запускает веб-приложение, которое здоровается с пользователем. Чтобы посмотреть, как оно работает, вы можете, запустив его, перейти в браузере на страницу
Собственно в строке
Подробнее ознакомиться с технологией можете при помощи документации.
Bottle – это быстрый микро-веб-фреймворк на Python. Список основных возможностей: роутинг, шаблоны, POST-роутинг, обработка форм, кукисы, сервер.
Пример кода с картинки запускает веб-приложение, которое здоровается с пользователем. Чтобы посмотреть, как оно работает, вы можете, запустив его, перейти в браузере на страницу
http://localhost:6000/hi/world.Собственно в строке
@route('/hi/<username>') мы указываем адрес, а в функции index возвращаем маленький html, который и отображается в итоге. При этом туда подставляется переменная username, которая берётся из адресной строки.Подробнее ознакомиться с технологией можете при помощи документации.
Что выведет программа?
Anonymous Quiz
4%
TypeError
13%
IndexError
4%
None
2%
null
55%
Получаем исключение
16%
Ловим его
5%
Другое
Копирование объектов
При стандартном присваивании обычно новый объект не создается, а лишь копируется ссылка на уже имеющийся. Если использовать
Если же использовать
При стандартном присваивании обычно новый объект не создается, а лишь копируется ссылка на уже имеющийся. Если использовать
copy.copy(), произойдет поверхностное копирование, т.е. создастся новый объект, но его ссылки на другие объекты будут те же.Если же использовать
copy.deepcopy(), то получатся "настоящие" копии объекта и всех его ссылок.Рекурсия и Фибоначчи
Python, как и большинство других языков, даёт возможность вызова функции в теле самой этой функции. Такой принцип работы называется рекурсией.
В примере вы можете наблюдать функцию, которая использует рекурсию для вычисления чисел из ряда Фибоначчи — это ряд чисел, в котором первые два числа являются 0 и 1, а каждое последующее число — сумма двух предыдущих.
Программа годится как учебный пример, однако на больших числах начинает зависать и медленно работать — требуется оптимизация.
Python, как и большинство других языков, даёт возможность вызова функции в теле самой этой функции. Такой принцип работы называется рекурсией.
В примере вы можете наблюдать функцию, которая использует рекурсию для вычисления чисел из ряда Фибоначчи — это ряд чисел, в котором первые два числа являются 0 и 1, а каждое последующее число — сумма двух предыдущих.
Программа годится как учебный пример, однако на больших числах начинает зависать и медленно работать — требуется оптимизация.
Распаковка массива
Иногда возникает необходимость красиво и быстро вывести содержимое массива (например, в задачах на хакатонах). Для этого поможет оператор
Причем тут оператор * — не просто синтаксический сахар, так как без фиксированной длины списка было бы невозможно передать элементы списка как отдельные аргументы.
Иногда возникает необходимость красиво и быстро вывести содержимое массива (например, в задачах на хакатонах). Для этого поможет оператор
*.Причем тут оператор * — не просто синтаксический сахар, так как без фиксированной длины списка было бы невозможно передать элементы списка как отдельные аргументы.