Что такое генераторы Python, как работает метод
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() # Завершаем генератор
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤🔥2
В Python функция
vars()
возвращает словарь атрибутов объекта или локальные переменные, если объект не указан. Это удобно для работы с объектами или отладки.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤🔥2
Напишите функцию, которая принимает строку и возвращает словарь, где ключи — это символы строки, а значения — количество их вхождений.
Пример:
result = count_char_frequency("hello world")
print(result)
# Ожидаемый результат:
# {'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}
Решение задачи на картинке
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤🔥2
Wooey
Wooey — это библиотека Python, которая позволяет создавать простые веб-интерфейсы для ваших скриптов командной строки. Она является мощным инструментом для повышения доступности, улучшения удобства использования и сбора данных.
Python Learning👩💻
Wooey — это библиотека Python, которая позволяет создавать простые веб-интерфейсы для ваших скриптов командной строки. Она является мощным инструментом для повышения доступности, улучшения удобства использования и сбора данных.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤🔥2
Пояснение
Класс Counter реализует интерфейсы __iter__ и __next__, превращая объект в итератор. Итератор начинает с 1 и увеличивает значение на каждом шаге, пока не достигнет 3. После этого выбрасывается исключение StopIteration, которое завершает цикл.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤🔥3
👍17🤔5🏆4❤🔥1😢1🍾1
В Python функция
setattr()
позволяет динамически устанавливать значение атрибута объекта. Это полезно, если имя атрибута известно только во время выполнения программы.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤🔥2
В Python функция
isinstance()
проверяет, является ли объект экземпляром указанного класса или его подкласса. Это удобно для проверки типов во время выполнения.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤🔥1
В Python функция
eval()
выполняет строку как Python-код. Это мощный инструмент для динамического выполнения выражений, но его следует использовать с осторожностью.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18😱6❤🔥2
Что такое контекстные переменные (
contextvars
) в Python, как они работают и где применяются?Ответ
Пример использования
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("
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥5
В Python класс
collections.deque
предоставляет двустороннюю очередь с эффективным добавлением и удалением элементов с обоих концов. Это полезно для реализации очередей, стеков и буферов.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤🔥5
В Python функция
re.findall()
из модуля re
находит все совпадения с заданным регулярным выражением в строке и возвращает их в виде списка. Это удобно для извлечения данных из текста.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤🔥1🔥1
Пояснение
Список lst — изменяемый тип, и изменения внутри функции влияют на оригинальный объект, поэтому 4 добавляется к списку. Переменная n — неизменяемый тип (int), поэтому увеличение num на 1 не изменяет оригинальный n.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
👍10❤🔥5🏆4
В Python класс
collections.ChainMap
объединяет несколько словарей в одну структуру, позволяя искать ключи сразу во всех словарях. Это удобно для объединения настроек или конфигураций.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤🔥6🏆2
Функция
itertools.chain()
позволяет объединить несколько итерируемых объектов в один. Это полезно, когда нужно работать с несколькими списками или другими коллекциями без явной конкатенации.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤🔥8🏆2
Что такое
dataclass
в Python, как работает параметр init=False
и зачем он нужен?Ответ
Пример использования
from dataclasses import dataclass, field
@dataclass
class Product:
name: str
price: float
discount: float = field(init=False) # Исключаем из __init__
def __post_init__(self):
self.discount = self.price * 0.1 # Вычисляем скидку после инициализации
# Создание экземпляра
item = Product(name="Laptop", price=1000)
print(item) # Product(name='Laptop', price=1000, discount=100.0)
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿6👍4