python中全局变量和局部变量

python中全局变量和局部变量,第1张

概述1、python中定义在函数内部的变量称为局部变量,局部变量只能在局部函数内部生效,它不能在函数外部被引用。defdiscount(price,rate):price_discounted=price*ratereturnprice_discountedsale_price=float(input("pleaseinputthesale_price:"))discount_ra

1、

python中定义在函数内部的变量称为局部变量,局部变量只能在局部函数内部生效,它不能在函数外部被引用。

def discount(price,rate):    price_discounted = price * rate    return price_discountedsale_price = float(input("please input the sale_price:"))discount_rate = float(input("please input the discount_rate:"))sell_price = discount(sale_price,discount_rate)print("sell_price is: %.3f" % sell_price)
## 在以上脚本中, 定义函数discount(),两个形参price和rate。 局部变量为 price、rate 和 price_discounted. 全局变量为 sale_price、discount_rate和 sell_price。

运行效果如下:

please input the sale_price:800please input the discount_rate:0.5sell_price is: 400.000

 

a、尝试在函数外部访问全局变量和局部变量,全局变量可以访问,局部变量不可以访问

>>> sale_price            ## 全局变量800.0>>> discount_rate          ## 全局变量0.5>>> sell_price             ## 全局变量400.0>>> price                  ## 局部变量Traceback (most recent call last):  file "<pyshell#45>", line 1, in <module>    pricenameError: name 'price' is not defined>>> rate                   ## 局部变量Traceback (most recent call last):  file "<pyshell#46>", line 1, in <module>    ratenameError: name 'rate' is not defined>>> price_discounted        ## 局部变量Traceback (most recent call last):  file "<pyshell#47>", line 1, in <module>    price_discountednameError: name 'price_discounted' is not defined

 

b、尝试在函数内部访问全局变量

def discount(price,rate):    price_discounted = price * rate    print("output globle varable sale_price:",sale_price)    return price_discountedsale_price = float(input("please input the sale_price:"))discount_rate = float(input("please input the discount_rate:"))sell_price = discount(sale_price,discount_rate)print("sell_price is: %.3f" % sell_price)
please input the sale_price:800please input the discount_rate:0.5output globle varable sale_price: 800.0             ##在函数内部可以访问全局变量sell_price is: 400.000

 

c、尝试在函数内部修改全局变量

def discount(price,rate):    price_discounted = price * rate    sale_price = 5000            ## 在函数内部修改全局变量    print("new_sale_price:",sale_price)       ## 在函数内部输出修改后的变量    return price_discountedsale_price = float(input("please input the sale_price:"))discount_rate = float(input("please input the discount_rate:"))sell_price = discount(sale_price,discount_rate)print("sell_price is: %.3f" % sell_price)print("output the varable sale_price:",sale_price)    ## 在函数外输出修改后的变量,验证是否改变
please input the sale_price:800please input the discount_rate:0.5new_sale_price: 5000       ## 在函数内部返回修改后的变量sell_price is: 400.000output the varable sale_price: 800.0    ## 在函数外部返回原始变量
## 在函数内部可以访问全局变量,但是不可以修改全局变量

 

 局部变量只能在函数内调用,不能够在函数外调用; 全局变量可以在函数内访问,全局变量不可以在函数内修改。

全局变量的作用域在整个模块,局部变量的作用域在函数内。

 

总结

以上是内存溢出为你收集整理的python中全局变量和局部变量全部内容,希望文章能够帮你解决python中全局变量和局部变量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1189002.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存