У меня возникают проблемы с перекосом по списку переменных. В частности, я хочу написать функцию, которая возвращает информацию о текущей системе. Ниже приведен пример для цикла я попытался:Python: Итерация над списком переменных
def sysInfo():
cpu = psutil.cpu_count()
memory = psutil.virtual_memory()
disk = psutil.disk_usage('/')
specs = [cpu, memory, disk]
for c in specs:
return c
print sysInfo()
Функция работает без ошибок, но возвращает только первый элемент в списке, что приводит меня к выводу, что цикл выполняется только один раз. Однако, если я переключу оператор return с печатью (и вызовет функцию вместо ее печати), тогда все элементы списка будут напечатаны.
Мой вопрос тогда будет: Почему цикл возвращает только первый элемент в списке с возвратом, но печать дает все из них?
Взгляните на [доходность] (http://stackoverflow.com/questions/231767/what-does-the-yield-keyword-do-in-python). Или верните список. Не уверен, что вы пытаетесь сделать. –