Возвращение словаря

We use cookies. Read the Privacy and Cookie Policy

Функция может вернуть любое значение, нужное вам, в том числе и более сложную структуру данных (например, список или словарь). Так, следующая функция получает части имени и возвращает словарь, представляющий человека:

person.py

def build_person(first_name, last_name):

. ."""Возвращает словарь с информацией о человеке."""

(1) . .person = {'first': first_name, 'last': last_name}

(2) . .return person

musician = build_person('jimi', 'hendrix')

(3)print(musician)

Функция build_person() получает имя и фамилию и сохраняет полученные значения в словаре в точке (1) . Значение first_name сохраняется с ключом 'first', а значение last_name — с ключом 'last'. Весь словарь с описанием человека возвращается в точке (2). Возвращаемое значение выводится в точке (3) с двумя исходными фрагментами текстовой информации, теперь хранящимися в словаре:

{'first': 'jimi', 'last': 'hendrix'}

Функция получает простую текстовую информацию и помещает ее в более удобную структуру данных, которая позволяет работать с информацией (помимо простого вывода). Строки 'jimi' и 'hendrix' теперь помечены как имя и фамилия. Функцию можно легко расширить так, чтобы она принимала дополнительные значения: — второе имя, возраст, профессию или любую другую информацию о человеке, которую вы хотите сохранить. Например, следующее изменение позволяет также сохранить возраст человека:

def build_person(first_name, last_name, age=''):

. ."""Возвращает словарь с информацией о человеке."""

. .person = {'first': first_name, 'last': last_name}

. .if age:

. . . .person['age'] = age

. .return person

musician = build_person('jimi', 'hendrix', age=27)

print(musician)

В определение функции добавляется новый необязательный параметр age, которому назначается пустое значение по умолчанию. Если вызов функции включает значение этого параметра, то значение сохраняется в словаре. Функция всегда сохраняет имя, но ее также можно модифицировать, чтобы она сохраняла любую необходимую информацию о человеке.