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

>>> class SmartPhone:

... def does(self):

... return 'ring'

...

>>> class Robot:

... def __init__(self):

... self.laser = Laser()

... self.claw = Claw()

... self.smartphone = SmartPhone()

... def does(self):

... return '''I have many attachments:

... My laser, to %s.

... My claw, to %s.

... My smartphone, to %s.''' % (

... self.laser.does(),

... self.claw.does(),

... self.smartphone.does() )

...

>>> robbie = Robot()

>>> print(robbie.does())

I have many attachments:

My laser, to disintegrate.

My claw, to crush.

My smartphone, to ring.

Глава 7. Работаем с данными

профессионально

1. Создайте строку Unicode с именем mystery и присвойте ей значение '\U0001f4a9'.

Выведите на экран значение строки mystery. Найдите имя Unicode для mystery:

>>> import unicodedata

>>> mystery = '\U0001f4a9'

>>> mystery

' '

>>> unicodedata.name(mystery)

'PILE OF POO'

Ой-ой-ой! Что еще у них там есть?

2. Закодируйте строку mystery, в этот раз с использованием кодировки UTF-8,

в переменную типа bytes с именем pop_bytes. Выведите на экран значение пере-

менной pop_bytes:

>>> pop_bytes = mystery.encode('utf-8')

>>> pop_bytes

b'\xf0\x9f\x92\xa9'

452

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

3. Используя кодировку UTF-8, декодируйте переменную pop_bytes в строку

pop_string. Выведите на экран значение переменной pop_string. Равно ли оно

значению переменной mystery?

>>> pop_string = pop_bytes.decode('utf-8')

>>> pop_string

' '

>>> pop_string == mystery