Форум сайта python.su
0
Зачем нужно распаковывание кортежа и чем оно отличается от обычного доступа к данным?
Офлайн
221
представьте что у вас есть функция
def foo(a,b,c,d): pass
data = [0, 1, 2, 3] foo(data[0], data[1], data[2], data[3]) foo(*data)
Офлайн
0
Например, метод может возвращать несколь результатов. Пример из django - метод get_or_create возвращает объект вашей модели и True/False если объект был/не был создан:
my_article = models.Article.objects.get_or_create(...) print(type(my_article))
>>> <class 'tuple'>
if my_article[1]: send_email_notification(...) my_article[0].some_useful_field = 'Article title' my_article[0].save()
my_article, created = models.Article.objects.get_or_create(...)
Офлайн