Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 344

присвойте значение 'xyz' атрибуту объекта, который называется letters.

Выведите на экран значение атрибута letters. Понадобилось ли вам создавать

объект класса, чтобы сделать это?

>>> class Thing3:

... def __init__(self):

... self.letters = 'xyz'

...

Переменная letters принадлежит любому объекту класса Thing3, но не самому

классу Thing3:

>>> print(Thing3.letters)

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

AttributeError: type object 'Thing3' has no attribute 'letters'

>>> something = Thing3()

>>> print(something.letters)

xyz

4. Создайте класс, который называется Element, имеющий атрибуты объекта name, symbol

и number. Создайте объект этого класса со значениями 'Hydrogen', 'H' и 1:

>>> class Element:

... def __init__(self, name, symbol, number):

448

Приложение Д. Ответы к упражнениям

... self.name = name

... self.symbol = symbol

... self.number = number

...

>>> hydrogen = Element('Hydrogen', 'H', 1)

5. Создайте словарь со следующими ключами и значениями: 'name': 'Hydrogen',

'symbol': 'H', 'number': 1. Далее создайте объект с именем hydrogen класса Element

с помощью этого словаря.

Начнем со словаря:

>>> el_dict = {'name': 'Hydrogen', 'symbol': 'H', 'number': 1}

Это работает, однако необходимо напечатать много текста:

>>> hydrogen = Element(el_dict['name'], el_dict['symbol'], el_dict['number'])

Убедимся, что это работает:

>>> hydrogen.name

'Hydrogen'

Однако вы также можете инициализировать объект непосредственно с помощью

словаря, поскольку его ключ names совпадает с аргументами функции __init__

(аргументы — ключевые слова рассматриваются в главе 3):

>>> hydrogen = Element(**el_dict)

>>> hydrogen.name

'Hydrogen'

6. Для класса Element определите метод с именем dump(), который выводит на экран

значения атрибутов объекта (name, symbol и number). Создайте объект hydrogen из

этого нового определения и используйте метод dump(), чтобы вывести на экран

его атрибуты:

>>> class Element:

... def __init__(self, name, symbol, number):

... self.name = name