#Вопросы_с_собеседования
❓Что выведет программа?
Ответ:
Кажется, ничего сложного. create_multipliers вернёт список из 5 функций (назовём их list_lamba_f). Каждая list_lamba_f будет умножать свой аргумент на свой индекс в результирующем массиве.
Получается, что на экране мы увидим:
0
2
4
6
8
Дальнейший разбор предполагает, что вам знакомо замыкание (closure) при использовании вложенных функций (nested functions).
Свои коррективы в наивное объяснение выше вносит позднее связывание. Согласно ему, значение переменной из замыкания (это переменная i) вычисляется в тот момент, когда вызывается внутренняя функция (наши list_lamba_f).
Получается, что значение i в list_lamba_f вычисляется в момент вызова multiplier(2) в пятой строчке. Но в этот момент create_multipliers уже отработала целиком. и значение i — это 4. То есть для всех list_lamba_f значение i равно 4.
Итак, ответ:
8
8
8
8
8.
❓Что выведет программа?
Ответ:
Получается, что на экране мы увидим:
0
2
4
6
8
Дальнейший разбор предполагает, что вам знакомо замыкание (closure) при использовании вложенных функций (nested functions).
Свои коррективы в наивное объяснение выше вносит позднее связывание. Согласно ему, значение переменной из замыкания (это переменная i) вычисляется в тот момент, когда вызывается внутренняя функция (наши list_lamba_f).
Получается, что значение i в list_lamba_f вычисляется в момент вызова multiplier(2) в пятой строчке. Но в этот момент create_multipliers уже отработала целиком. и значение i — это 4. То есть для всех list_lamba_f значение i равно 4.
Итак, ответ:
8
8
8
8
8.
👍21🤔9😱4❤1🎉1
Абстракция множеств
Так же, как и в случае со списками и словарями, при работе с множествами можно воспользоваться так называемой абстракцией множеств (set comprehension). Делается это путём добавления обрабатываемого выражения в фигурные скобки и через возврат единственного мутабельного элемента на каждом проходе цикла: { <element> for ... in ... }.
Так же, как и в случае со списками и словарями, при работе с множествами можно воспользоваться так называемой абстракцией множеств (set comprehension). Делается это путём добавления обрабатываемого выражения в фигурные скобки и через возврат единственного мутабельного элемента на каждом проходе цикла: { <element> for ... in ... }.
👍11
🤔28👍17🍾9🎉2🔥1🏆1
This media is not supported in your browser
VIEW IN TELEGRAM
Pyxel
Игровой движок для Python в стиле ретро. Благодаря своей простоте, вдохновленной старыми игровыми консолями (например, палитра состоит всего из 16 цветов, и только 4 звука могут быть проиграны одновременно), вы можете легко создавать игры в стиле пиксель-арт. Имеются инструменты для создания музыки и графики, а также поддержка ввода с джойстика.
Установка:
Игровой движок для Python в стиле ретро. Благодаря своей простоте, вдохновленной старыми игровыми консолями (например, палитра состоит всего из 16 цветов, и только 4 звука могут быть проиграны одновременно), вы можете легко создавать игры в стиле пиксель-арт. Имеются инструменты для создания музыки и графики, а также поддержка ввода с джойстика.
Установка:
pip install -U pyxel
Github проекта: https://github.com/kitao/pyxel/👍31❤5🎉3
Что выведет код?
Anonymous Quiz
36%
1
1%
2
1%
3
2%
4
23%
1 1
22%
None
15%
Error из-за отсутствия отступа в if
👍25🤔14🏆3😱2
Метод truncate()
Метод truncate() модуля os обрезает файл, соответствующий пути path, так, чтобы он имел длину не более length байтов.
Синтаксис:
os.truncate(path, length), где
path - str, путь в файловой системе до файла,
length - int, размер в байтах.
Подробнее можно почитать здесь.
Метод truncate() модуля os обрезает файл, соответствующий пути path, так, чтобы он имел длину не более length байтов.
Синтаксис:
os.truncate(path, length), где
path - str, путь в файловой системе до файла,
length - int, размер в байтах.
Подробнее можно почитать здесь.
👍12❤1🎉1
Как написать Telegram-бота на Python: делаем ремайндер
В данной статье разберем процесс создания простого бота-ремайндера, единственная задача которого — напоминать пользователю о важных делах.
Смотреть статью
В данной статье разберем процесс создания простого бота-ремайндера, единственная задача которого — напоминать пользователю о важных делах.
Смотреть статью
Tproger
Как написать Telegram-бота на Python / Tproger
Создаём простого бота-ремайндера в Telegram на языке Python, единственная задача которого — напоминать пользователю о важных делах.
👍17🏆5❤3🔥2😱2🍾2
👍22🏆9🔥3🤔3😱1🍾1
#Вопросы_с_собеседования
Что такое поверхностная копия?
Поверхностная копия используется при создании нового типа экземпляра и сохраняет значения, скопированные в новом. Также она используется для копирования ссылочных указателей. Это означает, что когда мы копируем объект в другую переменную, он будет привязан.
Что такое поверхностная копия?
Поверхностная копия используется при создании нового типа экземпляра и сохраняет значения, скопированные в новом. Также она используется для копирования ссылочных указателей. Это означает, что когда мы копируем объект в другую переменную, он будет привязан.
👍10🎉9😱1
Функция readline()
Функция readline() используется для построчного чтения содержимого файла. Она используется для крупных файлов. С ее помощью можно получать доступ к любой строке в любой момент.
Допустим у нас есть файл test.txt с несколькими строками:
This is line1.
This is line2.
This is line3.
Посмотрим, как функция readline() работает в test.txt.
Функция readline() используется для построчного чтения содержимого файла. Она используется для крупных файлов. С ее помощью можно получать доступ к любой строке в любой момент.
Допустим у нас есть файл test.txt с несколькими строками:
This is line1.
This is line2.
This is line3.
Посмотрим, как функция readline() работает в test.txt.
👍19🎉3🤔1
Узнаем размер файла с помощью Python
C помощью метода os.path модуля os мы можем получить размер любого нашего файла в байтах.
Другие способы узнать размер файла можно найти здесь.
C помощью метода os.path модуля os мы можем получить размер любого нашего файла в байтах.
Другие способы узнать размер файла можно найти здесь.
👍23🎉13🍾2
Проверяем отсутствие общих элементов множества и последовательности
Метод sets.isdisjoint() позволяет проверить множество sets на отсутствие общих элементов с последовательностью other. Метод возвращает True, если множество sets не имеет общих элементов с итерируемым объектом other, если имеются общие элементы то вернет False.
Синтаксис:
sets.isdisjoint(other)
Параметры:
other - объект поддерживающий итерацию (кортеж, символ или подстрока).
sets - множество frozenset или set.
Метод sets.isdisjoint() позволяет проверить множество sets на отсутствие общих элементов с последовательностью other. Метод возвращает True, если множество sets не имеет общих элементов с итерируемым объектом other, если имеются общие элементы то вернет False.
Синтаксис:
sets.isdisjoint(other)
Параметры:
other - объект поддерживающий итерацию (кортеж, символ или подстрока).
sets - множество frozenset или set.
👍18🏆2😱1
#Вопросы_с_собеседования
❓Каким образом вы бы могли вывести на экран все функции в модуле?
Для перечисления функций в модуле используется метод dir(). На картинке представлено решение данного вопроса.
❓Каким образом вы бы могли вывести на экран все функции в модуле?
Для перечисления функций в модуле используется метод dir(). На картинке представлено решение данного вопроса.
🏆21👍16😱7❤1
🤔39👍11🏆6😱4🎉3❤2