# Вопросы к занятиям ## yield и return + Примеры, разница. ### Ответ Хороший пример с чтением csv - https://stackoverflow.com/a/47257676 ### Интересный кейс от Ярослава: ``` def generator_function (x:int): for i in range(x+1): yield i**2 print("Когда напечатается эта строка?", i) print(generator_function(10)) for f in generator_function(10): print(f) ``` ![](https://i.imgur.com/zyAT5mj.png) Разберем на практике ## по модулю io вопрос + Пытаюсь в домашке записывать лог в csv-файл. Таким образом: ``` with open('journal.csv', mode='w') as log_file: fieldnames = ['path', 'path2', 'back_date', 'status'] writer = csv.DictWriter(log_file, fieldnames=fieldnames) writer.writeheader() writer.writerow({'path1': path1, 'path2': path2, 'back_date': datetime.date.today().strftime("%Y-%m-%dT%h:%i:%s"), 'status': status}) return ``` Почему записывается только "шапка" с названиями полей? ## stdout, stderr Небольшая каша в голове. В домашке требовалось выводить ошибки. stdout - это по сути print(). stderr не понятно. Сделала как sys.stderr.write('bla-bla') Наверное, это не то? ## Для чего в цепочке nginx? ![](https://i.imgur.com/u4zPHUl.png) ### Ответ https://overcoder.net/q/926886/почему-для-запуска-flask-с-nginx-требуется-оболочка-wsgi ## Использование модулей Пример ## Использование файлов __init__.py и __main__.py ![](https://i.imgur.com/qUBkgeV.png)