🐍 Python-задача с подвохом: “Список-призрак”
📘 Условие
Посмотри на этот код:
❓ Вопрос:
Что выведет программа и почему?
🔍 Варианты ответа:
А)
Б)
В)
✅ Правильный ответ: Б
Почему?
💥 Подвох: аргумент
📌 То есть каждый вызов
✅ Как исправить:
Теперь каждый вызов создаёт новый список, если его не передали явно.
⚠️ Подвох
• Аргументы по умолчанию вычисляются один раз
• Это работает и с
• Даже опытные Python-разработчики иногда "попадаются" на этом
🎯 Отлично подходит для проверки глубокого понимания поведения функций в Python.
📘 Условие
Посмотри на этот код:
def append_item(item, lst=[]):
lst.append(item)
return lst
result1 = append_item(1)
result2 = append_item(2)
result3 = append_item(3)
print(result1)
print(result2)
print(result3)
❓ Вопрос:
Что выведет программа и почему?
🔍 Варианты ответа:
А)
[1]
[2]
[3]
Б)
[1]
[1, 2]
[1, 2, 3]
В)
[3]
[3]
[3]
✅ Правильный ответ: Б
Почему?
💥 Подвох: аргумент
lst=[]
— мутабельный объект, и он создаётся только один раз при определении функции, а не при каждом вызове.📌 То есть каждый вызов
append_item
модифицирует один и тот же список, который "помнит" все предыдущие элементы.✅ Как исправить:
def append_item(item, lst=None):
if lst is None:
lst = []
lst.append(item)
return lst
Теперь каждый вызов создаёт новый список, если его не передали явно.
⚠️ Подвох
• Аргументы по умолчанию вычисляются один раз
• Это работает и с
dict
, и с set
, и с любыми объектами • Даже опытные Python-разработчики иногда "попадаются" на этом
🎯 Отлично подходит для проверки глубокого понимания поведения функций в Python.
🗣 Мини-скрипт: говори по-русски своим клонированным голосом (Coqui TTS)
Вот минимальный Python-скрипт на базе модели
📦 Перед запуском установи зависимости:
📄 Сохрани этот код как
📌 Убедись, что:
- Файл
- Можно использовать речь любой длины (желательно от 1 минуты).
- Вводи любой текст на русском — результат будет с твоим голосом.
Вот минимальный Python-скрипт на базе модели
xtts_v2
от Coqui, который позволяет ввести текст на русском языке и получить аудиофайл с твоим клонированным голосом.📦 Перед запуском установи зависимости:
pip install TTS soundfile torchaudio
📄 Сохрани этот код как
russian_voice_clone.py
и запусти:
from TTS.tts.configs.xtts_config import XttsConfig
from TTS.tts.models.xtts import Xtts
# 📁 Путь к твоему голосовому файлу
voice_sample_path = "your_voice.wav"
# 📝 Ввод текста
text = input("Введите текст на русском: ")
# ⚙️ Загрузка модели
config = XttsConfig()
model = Xtts.init_from_config(config)
model.load_checkpoint("tts_models/multilingual/multi-dataset/xtts_v2")
# 🎤 Создание эмбеддинга
speaker_embedding = model.get_speaker_embedding(voice_sample_path)
# 🔊 Синтез речи
output_wav = model.tts(text, speaker_embedding=speaker_embedding)
# 💾 Сохранение
model.save_wav(output_wav, "output_russian.wav")
print("✅ Аудио сохранено как output_russian.wav")
📌 Убедись, что:
- Файл
your_voice.wav
формата: .wav
, 16 кГц, моно.- Можно использовать речь любой длины (желательно от 1 минуты).
- Вводи любой текст на русском — результат будет с твоим голосом.
Python уже покорен? А как насчет Django?
Один из ведущих провайдеров IT-инфраструктуры Selectel подготовил бесплатный мини-курс по Django. Программа начинается с создания и настройки простых проектов: блога и канбан-доски, а завершается подключением автоматических бэкапов.
Всего за час вы научитесь:
1️⃣ Работать с бэкендом и API
2️⃣ Создавать веб-приложение по шаблону от Django
3️⃣ Настраивать Nginx и Gunicorn
4️⃣ Автоматизировать резервное копирование
Переходите в Академию Selectel, чтобы начать изучение прямо сейчас
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2Vtzqx3SoDv
Один из ведущих провайдеров IT-инфраструктуры Selectel подготовил бесплатный мини-курс по Django. Программа начинается с создания и настройки простых проектов: блога и канбан-доски, а завершается подключением автоматических бэкапов.
Всего за час вы научитесь:
Переходите в Академию Selectel, чтобы начать изучение прямо сейчас
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2Vtzqx3SoDv
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python/ django
This media is not supported in your browser
VIEW IN TELEGRAM
🎮 Oh My ~God~ Git — необычная и полезная игра с открытым исходным кодом, которая помогает разобраться с GIT не через скучные туториалы, а с помощью наглядных карточек и геймплея.
🧠 В процессе ты:
• Поймёшь, как устроен GIT под капотом
• Научишься работать с ветками, коммитами, merge и rebase
• Запомнишь команды на практике, играя
📦 Игра доступна прямо в браузере: [ohmygit.org](https://ohmygit.org/)
💻 Или можно скачать и установить с GitHub: [github.com/git-learning-game/oh-my-git](https://github.com/git-learning-game/oh-my-git)
👾 Подходит как новичкам, так и тем, кто хочет освежить знания в игровой форме.
🧠 В процессе ты:
• Поймёшь, как устроен GIT под капотом
• Научишься работать с ветками, коммитами, merge и rebase
• Запомнишь команды на практике, играя
📦 Игра доступна прямо в браузере: [ohmygit.org](https://ohmygit.org/)
💻 Или можно скачать и установить с GitHub: [github.com/git-learning-game/oh-my-git](https://github.com/git-learning-game/oh-my-git)
👾 Подходит как новичкам, так и тем, кто хочет освежить знания в игровой форме.