python 函数中变量的作用域
python的局部变量只在函数内部起作用,出了函数就不起作用了
def discounts(price,rate):
final_price = price * rate
return final_price
old_price = float(input("请输入原价:"))
rate = float(input("请输入折扣率:"))
new_price =discounts(old_price,rate)
print("打折后的价格是:", new_price)
输出结果为:
请输入原价:100
请输入折扣率:0.8
打折后的价格是: 80.0
如果我们想输出局部变量final_price,我们试一下
def discounts(price,rate):
final_price = price * rate
return final_price
old_price = float(input("请输入原价:"))
rate = float(input("请输入折扣率:"))
new_price =discounts(old_price,rate)
print("打折后的价格是:", new_price)
print(final_price)
输出结果为:
请输入原价:300
请输入折扣率:0.8
打折后的价格是: 240.0
NameError: name 'final_price' is not defined
显示报错说final_price 并没有被定义,像final_price,price,rate这些都是局部变量,一但出了函数就不发挥作用了