⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Список lst — изменяемый тип, и изменения внутри функции влияют на оригинальный объект, поэтому 4 добавляется к списку. Переменная n — неизменяемый тип (int), поэтому увеличение num на 1 не изменяет оригинальный n.
⚙️ collections.deque
В Python класс collections.deque
предоставляет двустороннюю очередь с эффективным добавлением и удалением элементов с обоих концов. Это полезно для реализации очередей, стеков и буферов.
Python Learning 👩💻
⚙️ eval()
В Python функция eval()
выполняет строку как Python-код. Это мощный инструмент для динамического выполнения выражений, но его следует использовать с осторожностью.
Python Learning 👩💻
❓Что такое абстракция и почему она важна в программировании?
Выбор правильных абстракций помогает для написания качественного кода.
✅ Регистрируйтесь на открытый урок «Абстракция как математический объект» и вы узнаете как абстракции помогают упростить сложные системы и сделать код более понятным.
Урок посвящен курсу «Математика для программистов» от Otus — лучшие практики, после изучения которых вы сможете быстрее изучать новые языки программирования и фреймворки.
👉 Регистрация https://clck.ru/3F44ff
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Класс Counter реализует интерфейсы __iter__ и __next__, превращая объект в итератор. Итератор начинает с 1 и увеличивает значение на каждом шаге, пока не достигнет 3. После этого выбрасывается исключение StopIteration, которое завершает цикл.
Тестовое собеседование на Middle Python-разработчика в четверг
5 декабря(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
1. Карим, Team lead в Чойс, ex-Kaspersky будет задавать реальные вопросы и задачи разработчику-добровольцу
2. Карим будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
3. В конце можно будет задать любой вопрос Кариму
Что узнаешь на прямом эфире от ШОРТКАТ:
• Чего ждут от кандидатов на Middle позиции в Python-разработке
• Какие вопросы задают на интервью и зачем
• Как подготовиться к собесу, чтобы получить оффер
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_python_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzquyYTrg
Учишь Python, но как дело доходит до собственного кода — всё, кирдык? 😥
Знакомо! На форумах только одно: «Больше практиковаться!» А толку? Ноль понимания и никакой поддержки от профи…
Плавали - знаем)) Поэтому специально для тебя - чат для Python-щиков 🤝
Что получишь?
1️⃣ Сможешь задавать любые вопросы без страха и осуждения и получать ответы за минуты, а не часы поиска в инете
2️⃣ Регулярные плюшки в виде стримов от препода с 15-ти летним опытом
3️⃣ Общение с единомышленниками и заряд мотивации
➡️ А еще, забирай в закрепе БЕСПЛАТНЫЙ вводный курс по Python
Короче, всё для прокачки! Залетай к нам — ссылка на чат (тык)
❓ Вопрос на собеседовании
Что такое генераторы Python, как работает метод send()
в генераторах, и как его можно использовать для управления их поведением?
Ответ ⬇️
Генераторы в Python — это функции, которые используют yield для возврата значения и приостановки выполнения. Метод send() позволяет отправлять данные обратно в генератор, которые затем могут быть использованы внутри генератора при следующем возобновлении. Это делает генераторы двусторонними, позволяя не только получать значения, но и передавать данные в них.
Пример использования ⚙️
def interactive_generator():
value = yield "Начало" # Возвращаем начальное значение
while value:
value = yield f"Вы отправили: {value}" # Возвращаем обработанное значение
gen = interactive_generator()
print(next(gen)) # "Начало"
print(gen.send("Привет")) # "Вы отправили: Привет"
print(gen.send("Python")) # "Вы отправили: Python"
gen.close() # Завершаем генератор
⚙️ min() и max()
В Python функции min()
и max()
используются для нахождения минимального и максимального значений в итерируемых объектах. Эти функции поддерживают кастомные критерии сравнения.
Python Learning 👩💻
⚙️ functools.lru_cache
В Python декоратор functools.lru_cache
кэширует результаты вызовов функции, что позволяет ускорить выполнение повторяющихся вычислений. Это удобно для оптимизации функций с дорогостоящими вычислениями.
Python Learning 👩💻
⚙️ functools.partial
В Python функция functools.partial()
позволяет создавать новую функцию с заранее зафиксированными значениями некоторых аргументов. Это удобно для упрощения вызовов функций с часто используемыми параметрами.
Python Learning 👩💻
⚙️ map()
В Python функция map()
позволяет применить заданную функцию к каждому элементу итерируемого объекта, создавая новый объект с результатами. Это удобно для преобразования данных.
Python Learning 👩💻
⚙️set.intersection()
В Python метод set.intersection()
возвращает пересечение множеств, то есть элементы, которые присутствуют во всех переданных множествах. Это удобно для нахождения общих данных.
Python Learning 👩💻
❓Знаете, как неудобно искать нужные библиотеки, переносить виртуальные окружения или запускать проекты с десятками ошибок из-за «не тех» версий?
Теперь можно всё упростить — приходите на бесплатный урок по управлению зависимостями в Python 27 ноября в 19:00 мск!
📗Откройте для себя инструменты Pipenv и Poetry, которые берут под контроль все зависимости в вашем проекте. Больше никаких сюрпризов, когда код «вдруг перестал работать»
📗Мы покажем, как легко устанавливать, настраивать и управлять пакетами для создания чистой и воспроизводимой среды. Вы узнаете, в чем отличие Pipenv и Poetry, и как их можно использовать в любых проектах на Python.
💻Представьте: ваш код работает идеально на любом устройстве. Вы экономите время и больше не теряете контроль над версиями и пакетами. Это уровень профессионалов и вы можете его достичь!
🛑Регистрируйтесь на открытый урок и получите скидку на участие в курсе «Python Developer. Basic»: https://clck.ru/3EpkmD
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
⚙️ re.findall()
В Python функция re.findall()
из модуля re
находит все совпадения с заданным регулярным выражением в строке и возвращает их в виде списка. Это удобно для извлечения данных из текста.
Python Learning 👩💻
❓ Вопрос на собеседовании
Что такое контекстные переменные (contextvars
) в Python, как они работают и где применяются?
Ответ ⬇️
Контекстные переменные (contextvars) — это механизм, введённый в Python 3.7, который позволяет хранить и изолировать данные для каждого потока выполнения. Они особенно полезны в асинхронных приложениях, где глобальные переменные могут быть небезопасны из-за возможного пересечения данных между задачами. В отличие от локальных переменных потоков (threading.local), contextvars работают корректно в асинхронных средах, таких как asyncio.
Пример использования ⚙️
import contextvars
import asyncio
# Создаём контекстную переменную
user_context = contextvars.ContextVar('user')
async def task(name):
user_context.set(name) # Устанавливаем значение
await asyncio.sleep(1) # Эмуляция асинхронной задачи
print(f"Текущий пользователь: {user_context.get()}")
async def main():
await asyncio.gather(task("
🔥 БЕСПЛАТНЫЙ КУРС ПО ВРЕМЕННЫМ РЯДАМ И AI 🔥
Ищете практический и углубленный курс, чтобы освоить временные ряды? Мы создали курс из 5 объемных занятий. Это именно то, что нужно, чтобы прокачаться в одной из самых востребованных аналитических областей абсолютно бесплатно!
📌 Темы занятий:
1. Основы анализа временных рядов
2. Прогнозирование на основе временных рядов с помощью AI
3. Выявление аномалий в данных с помощью нейросетей
4. Применение временных рядов в рекомендационных системах
5. Тенденции и будущее анализа временных рядов с AI
Почему временные ряды? Потому что это одна из центральных тем, они отличаются тем, что:
🧬 1. Очень нужны компаниям - прям прямая необходимость
🧬 2. Очень непредсказуемые - в отличие от CV, где всё понятно, тут итоговая точность нейронки вообще непредсказуемая
🤖 Присоединяйтесь к нашему бесплатному курсу и разберитесь в этой увлекательной теме с нами!
⚙️ isinstance()
В Python функция isinstance()
проверяет, является ли объект экземпляром указанного класса или его подкласса. Это удобно для проверки типов во время выполнения.
Python Learning 👩💻
⚙️ setattr()
В Python функция setattr()
позволяет динамически устанавливать значение атрибута объекта. Это полезно, если имя атрибута известно только во время выполнения программы.
Python Learning 👩💻
Wooey
Wooey — это библиотека Python, которая позволяет создавать простые веб-интерфейсы для ваших скриптов командной строки. Она является мощным инструментом для повышения доступности, улучшения удобства использования и сбора данных.
Python Learning 👩💻
👩💻 Задача по Python: Подсчёт частоты символов в строке
Напишите функцию, которая принимает строку и возвращает словарь, где ключи — это символы строки, а значения — количество их вхождений.
Пример:
result = count_char_frequency("hello world")
print(result)
# Ожидаемый результат:
# {'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}
⚙️ vars()
В Python функция vars()
возвращает словарь атрибутов объекта или локальные переменные, если объект не указан. Это удобно для работы с объектами или отладки.
Python Learning 👩💻
🔥 БЕСПЛАТНЫЙ КУРС ПО ВРЕМЕННЫМ РЯДАМ И AI 🔥
Ищете практический и углубленный курс, чтобы освоить временные ряды? Мы создали курс из 5 объемных занятий. Это именно то, что нужно, чтобы прокачаться в одной из самых востребованных аналитических областей абсолютно бесплатно!
📌 Темы занятий:
1. Основы анализа временных рядов
2. Прогнозирование на основе временных рядов с помощью AI
3. Выявление аномалий в данных с помощью нейросетей
4. Применение временных рядов в рекомендационных системах
5. Тенденции и будущее анализа временных рядов с AI
Почему временные ряды? Потому что это одна из центральных тем, они отличаются тем, что:
🧬 1. Очень нужны компаниям - прям прямая необходимость
🧬 2. Очень непредсказуемые - в отличие от CV, где всё понятно, тут итоговая точность нейронки вообще непредсказуемая
🤖 Присоединяйтесь к нашему бесплатному курсу и разберитесь в этой увлекательной теме с нами!
⚙️ heapq.heappush() и heapq.heappop()
В Python модуль heapq
предоставляет функции для работы с кучами (heap) — структурами данных для управления приоритетами. heappush()
добавляет элемент в кучу, а heappop()
удаляет наименьший элемент.
Python Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Метод __enter__ выполняется при входе в блок with, выводя Entering. Значение "Context Active" возвращается в переменную ctx и выводится. Исключение ValueError возникает, но перед этим вызывается __exit__, выводящий Exiting. Затем исключение не подавляется, и программа завершится с сообщением об ошибке.
👩💻 Задача по Python: Уникальные элементы с сохранением порядка
Напишите функцию, которая принимает список и возвращает новый список, содержащий только уникальные элементы, сохраняя их порядок появления.
Пример:
numbers = [1, 2, 2, 3, 4, 3, 5, 1]
result = unique_order(numbers)
print(result)
# Ожидаемый результат: [1, 2, 3, 4, 5]
⚙️list.append()
В Python метод list.append()
добавляет элемент в конец списка. Это самый простой способ динамически расширять список.
Python Learning 👩💻
❓ Вопрос на собеседовании
Что такое __slots__
в Python, как они работают, и в каких случаях их стоит использовать?
Ответ ⬇️
__slots__ — это специальный атрибут класса, который определяет фиксированный набор атрибутов для экземпляров класса. Это уменьшает потребление памяти, так как вместо хранения атрибутов в стандартном словаре (__dict__), они хранятся в виде фиксированной структуры. __slots__ полезны, если нужно создавать большое количество объектов одного класса, где экономия памяти критична. Однако __slots__ ограничивает добавление новых атрибутов, что делает классы менее гибкими.
Пример использования ⚙️
class OptimizedClass:
__slots__ = ['name', 'age'] # Указываем фиксированные атрибуты
def __init__(self, name, age):
self.name = name
self.age = age
# Пример использования
obj = OptimizedClass('Иван', 30)
print(obj.name) # Иван
print(obj.age) # 30
try:
obj.address = 'Москва' # Ошибка: нельзя добавить новый атрибут
except AttributeError as e:
print(e) # "'OptimizedClass' object has no attribute 'address'"