Python 程序设计讲义(61):Python 的函数——变量的作用域

Python 程序设计讲义(61):Python 的函数——变量的作用域

变量的作用域是指变量有效的范围,即程序代码能够访问到该变量的区域。根据变量的作用域将变量分为局部变量和全局变量。

一、局部变量

局部变量是指在函数内部定义的变量。例如:函数的形参就是局部变量,它只在函数内部有效。当函数调用完毕后,该变量就不存在了。

例如:

def test():
    x="Hello Python"  #变量x是局部变量,只能在函数内部访问
    print(x)

test()

程序的执行结果为:
Hello Python

下面的代码报如下错误:

def test():
    x="Hello Python"
    print(x)  #变量x是局部变量,只能在函数内部使用

test()
print(x) #变量x不存在,报错

程序的执行结果为:
Traceback (most recent call last):
Hello Python
  File "C:\Users\wgx58\PycharmProjects\PythonProject1\hello.py", line 6, in <module>
    print(x) #变量x不存在,报错
          ^
NameError: name 'x' is not defined

二、全局变量

全局变量是指在函数外定义的变量。该变量在整个函数中都有效,即它能够作用于函数内外。

全局变量的使用分为以下几种情况:

1、在函数内访问全局变量

虽然全局变量定义在函数外,但在函数内和函数外都可以访问该变量。

例如:

x="Hello Python"
def test():
    print(x)  #变量x是全局变量,函数内部可以访问全局变量
test()
print(x)

程序的执行结果为:
Hello Python
Hello Python
2、在函数内定义和全局变量同名的局部变量

在函数内定义和全局变量同名的局部变量,如果在函数内修改局部变量的值,则不影响全局变量。

例如:

x="Hello Python"
def test():
    x = "Hello World"
    print(x)  #变量x是局部变量,修改局部变量的值不影响全局变量
test()
print(x)

程序的执行结果为:
Hello World
Hello Python
3、在函数内修改全局变量

如果在函数内使用关键字global对全局变量进行声明,那么在函数内部可以对全局变量的值进行修改。

格式如下:

global 变量名

例如:

x="Hello Python"
def test():
    global x #定义变量x为全局变量
    x = "Hello World"
    print(x)
test()
print(x)

程序的执行结果为:
Hello World
Hello World
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

睿思达DBA_WGX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值