rate 変数の変化について詳しく教えてください

「処理の順序を理解しよう」の回を復習しながら、一緒に考えてみましょう。
2023年1月28日
ユーザー
def get_price(a, b):
    global rate
    if a + b >= 3000:
        rate = 1.05
    total = (a + b) * rate
    return total

rate = 1.1
print(get_price(300, 700))   ←ここでrateには1.1が入った状態
print(get_price(3000, 7000))  ←rateは1.05に書き換わった
print(rate)

rate1.05 に書き換わった状態で return total をしているのは理解できました。
ただ、def を抜けた後、rate=1.1 には無反応でそのまま print(rate) の時に 1.05 としてプリントされる理由が分かりません。
なぜ 1.05 に書き換わって print(get_price(3000, 7000)) の答えを出した後、rate1.1 にさらに書き換わらずに 1.05 のままなのでしょうか?

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(1)