**kwargs: Почему приведенное ниже понимание списка не выводит выходные данные, в то время как обычный цикл for это делаеPython

Программы на Python
Ответить
Anonymous
 **kwargs: Почему приведенное ниже понимание списка не выводит выходные данные, в то время как обычный цикл for это делае

Сообщение Anonymous »

В Python 3 я пытаюсь распечатать выходные данные **kwargs, используя понимание списка. Я не могу этого сделать, пока использование цикла for печатает элементы моего ввода списка. Ниже приведен воспроизводимый код:
Использование понимания списка:

Код: Выделить всё

class Practice(object):
__acceptable_keys_list = ['Right', 'left']

def __init__(self, **kwargs):
temp = ([self.__setattr__(key, kwargs.get(key)) for key in self.__acceptable_keys_list])
print(temp)
Вывод — [Нет, Нет].
При использовании цикла for:

Код: Выделить всё

class Practice(object):
__acceptable_keys_list = ['Right', 'Left']

def __init__(self, **kwargs):
for key in self.__acceptable_keys_list:
self.__setattr__(key,kwargs.get(key))
print(key)
Вывод — [Вправо, Влево].
Почему такая разница? Что мне не хватает? Разве список циклов comp и for не должен вести себя одинаково?

Подробнее здесь: https://stackoverflow.com/questions/527 ... ile-normal
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»