python-局部变量与全局变量作用域

FOLLOW ME

一、局部变量

局部变量只在函数内生效,这个函数就是这个变量的作用域。

这个变量的作用域只限制在这个函数中。

def change_name(name):

print("before change",name)

name="YUAN"

print("after change",name)

name="Jim"-----局部变量,只在函数内部生效

change_name(name) print(name)

运行结果:

before change Jim

after change YUAN

Jim

[Finished in 0.2s]

二、全局变量

全局变量是在整个程序中都生效的变量

如何在局部变量内部更改全局变量,可以使用global参数更改

school="qinghua"---定义全局变量

def change_name(name):

global school---通过使用global更改局部变量生效

school="beida"

print("before change",name,school)

name="YUAN"

print("after change",name)

name="Jim"

change_name(name)

print(name)

print("school:",school)

运行结果:

before change Jim beida

after change YUAN

Jim

school: beida

[Finished in 0.2s]

三、不允许在函数里边改全局变量

禁止在函数内部改全局变量,否则会引起其它调用该函数的程序出现错误!!!

def change_name():

global name

name="YUAN"

change_name()

print(name)

四、全局变量与局部变量总结

在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。

全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。

当全局变量与局部变量同名时:

在定义局部变量的子程序时,局部变量起作用;在其它地方全局变量起作用。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190131A099BW00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券