请总结以下一段代码的功能：
<pre>
def calculate_discount(price, discount_rate):
    if discount_rate < 0 or discount_rate > 1:
        raise ValueError("Discount rate must be between 0 and 1")
    final_price = price * (1 - discount_rate)
    return final_price
</pre>
user
这段代码定义了一个函数 `calculate_discount`，用于计算折扣后的最终价格。函数接收两个参数：`price`（原价）和 `discount_rate`（折扣率）。如果折扣率不在0到1之间，函数会抛出一个 `ValueError` 异常。否则，函数会计算折扣后的价格并返回 `final_price`。
assistant