last_name = soup.find('last_name') and soup.find('last_name').string
Очень глупо, но оно соответствует вашему столь же глупому заявленному ограничению (нет if
). Немного менее глупо:
last_name_node = soup.find('last_name')
last_name = last_name_node and last_name_node.string
и
last_name = getattr(soup.find('last_name'), 'string', None)
Эти два не имеют такие же накладные расходы, как первый. Я думаю, что простой if
более читабелен, чем любой из них.