python中assert如何理解?下面代码的assert后面的expression有什么用

想问问assert在这段代码的意思,求解答~
代码来源:李沐的动手学深度学习
https://zh-v2.d2l.ai/chapter_linear-networks/softmax-regression-scratch.html


```python
def train_ch3(net, train_iter, test_iter, loss, num_epochs, updater):  #@save
    """训练模型(定义见第3章)"""
    animator = Animator(xlabel='epoch', xlim=[1, num_epochs], ylim=[0.3, 0.9],
                        legend=['train loss', 'train acc', 'test acc'])
    for epoch in range(num_epochs):
        train_metrics = train_epoch_ch3(net, train_iter, loss, updater)
        test_acc = evaluate_accuracy(net, test_iter)
        animator.add(epoch + 1, train_metrics + (test_acc,))
    train_loss, train_acc = train_metrics
    assert train_loss < 0.5, train_loss
    assert train_acc <= 1 and train_acc > 0.7, train_acc
    assert test_acc <= 1 and test_acc > 0.7, test_acc

```


assert train_loss < 0.5, train_loss

您好,这句话的意思是判断最终的损失函数是否小于0.5,如果不满足则报错,并打印出这个损失函数的值,例如如果最终的train_loss=0.6,就会报错,并打印出0.6

assert False 抛出异常


可以看下pytorch参考手册中的 pytorch _assert() (in module torch)