Posted on :: Source Code::

Домашнее задание

Сдайте за этот урок выполненное задание с 13-го урока.

Тест с занятия

Задание 1

Как вы знаете, интерпретатор Python последовательно выполняет исходный код вашей программы. Если говорить более конкретно, он анализирует текст исходного кода, в ходе анализа составляет список всех действий которые нужно в соответсвии с этим текстом сделать. При выполнении программы он просто последовательно делает все эти действия.

my_list = [1]
my_list.append(2)
print(my_list)

def fn():
    items = [1, 2]
    items.append(3)
    lst = items
    a = lst[0]
    a += 1
    print(items, lst, a)
    return {"key": "Hello world"}

fn()

Что выведет этот код на Python?

Напишите, какие именно действия интерпретатор Python последовательно делает при выполнении этого кода. Опишите каждое действие настолько подробно, насколько можете.

Задание 2

Даны следующие программы на Python:

result = "Hello " + "world!"
print(result)
print([1, 2, result])
result.append(result)
print(result)
def test():
    print(lst)

test([1, 2, 3, 4])
print(print())
print(v)
def test():
    print([1, 2, 3])
    return True

while test():
    break

Для каждой программы ответьте на вопрос: поймёт ли интерпретатор, какие действия он должен сделать?

Если вы считаете, что поймёт, то укажите, какие это действия, и каков будет результат их последовательного выполнения.

Если считаете, что не поймёт, укажите, по какой причине он не сможет понять какие действия нужно делать. Напишите, что будет, если всё равно попробовать запустить этот текст исходного кода.

Задание 3

Если вы считаете, что разработчик ошибся при написании фрагментов кода выше, и вы понимаете, что он имел ввиду, исправьте код на правильный. Укажите, что именно вы изменили, и какие действия теперь будет выполнять интерпретатор Python.

Задание 4

Попробуйте объяснить этот код так же, как вы объясняли код в первом задании. Какие действия будет последовательно делать интерпретатор Python при выполнении этой программы? От чего зависит, сколько времени будет выполняться эта программа?

from uvicorn import run
from pydantic import BaseModel, Field
from fastapi import FastAPI, HTTPException


app = FastAPI()


@app.post("/chats")
async def create_chat():
    print("Делаем вид, что создали чат...")
    new_chat_id = 1
    return {"id": new_chat_id, "messages": []}


run(app)
Table of Contents