Класс данных
У гостя уже есть имя nora и место 12, но init, который всё это собирает, вы не писали. Строка @dataclass над Guest смотрит на поля и готовит эту часть сама. str вы тоже не пишете. Пакет при этом не ставится, и папка не создаётся.
from dataclasses import dataclass
@dataclass
class Guest:
name: str
seat: int
guest = Guest("nora", 12)
print(guest)
Самого гостя вы по-прежнему создаёте вручную: Guest("nora", 12). Сначала идёт слово, потом число, потому что поля объявлены именно в таком порядке. print(guest) выводит оба значения в одну строку, и на экране ровно она: Guest(name='nora', seat=12). Гость не лежит внутри другого объекта, и Guest не наследует никакому другому классу.
Кавычки у nora стоят потому, что это сохранённое слово. У 12 их нет: это целое число, и десятичной точки в нём тоже нет. Строку выводит print. guest.name даёт nora, а guest.seat даёт 12. Второй строки нет, badge не добавляется, blue не пишется. str вы ни разу не набирали. Вид напечатанной строки задаёт @dataclass. Уберите print, и экран останется пустым, ведь создать гостя и вывести его — не одно и то же.
Если пропустить место, программа остановится. Guest("nora") в программе нет: у поля seat не оказалось значения, поэтому остановка называется TypeError. None не выводится, и дальше программа не идёт. Строки name: str и seat: int — это поля. Второго гостя и папку они не создают. Не пишите class Guest(Pen): такая запись делает класс-наследник. Сумка с ручкой внутри тоже не тема этой страницы. Здесь один гость, и оба поля живут на нём.
Один гость, два поля
Создан один гость, заполнены два поля, и print вывел их на экран. Следующая страница — искать ошибку. Эта только хранит имя и место и выводит их на экран.
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху