翼度科技»论坛 编程开发 python 查看内容

Python 作用域:局部作用域、全局作用域和使用 global 关键字

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
变量只在创建它的区域内可用。这被称为作用域。
局部作用域

在函数内部创建的变量属于该函数的局部作用域,并且只能在该函数内部使用。
示例:在函数内部创建的变量在该函数内部可用:
  1. def myfunc():
  2.   x = 300
  3.   print(x)
  4. myfunc()
复制代码
函数内部的函数

如上面的示例所解释的那样,变量 x 在函数外部不可用,但可以在函数内部的任何函数中使用:
示例:局部变量可以从函数内部的函数中访问:
  1. def myfunc():
  2.   x = 300
  3.   def myinnerfunc():
  4.     print(x)
  5.   myinnerfunc()
  6. myfunc()
复制代码
全局作用域

在 Python 代码的主体部分创建的变量是全局变量,属于全局作用域。全局变量可以在任何作用域中使用,包括全局作用域和局部作用域。
示例:在函数外部创建的变量是全局的,并且可以被任何人使用:
  1. x = 300
  2. def myfunc():
  3.   print(x)
  4. myfunc()
  5. print(x)
复制代码
变量命名

如果在函数内部和外部使用相同的变量名称,Python 将把它们视为两个不同的变量,一个在全局作用域(函数外部)中可用,另一个在局部作用域(函数内部)中可用:
示例:该函数将打印局部变量 x,然后代码将打印全局变量 x:
  1. x = 300
  2. def myfunc():
  3.   x = 200
  4.   print(x)
  5. myfunc()
  6. print(x)
复制代码
global 关键字

如果需要创建一个全局变量,但又受限于局部作用域,可以使用 global 关键字。global 关键字将变量声明为全局变量。
示例:如果使用 global 关键字,变量将属于全局作用域:
  1. def myfunc():
  2.   global x
  3.   x = 300
  4. myfunc()
  5. print(x)
复制代码
此外,如果您希望在函数内部更改全局变量的值,也可以使用 global 关键字。
示例:要在函数内部更改全局变量的值,请使用 global 关键字引用该变量:
  1. x = 300
  2. def myfunc():
  3.   global x
  4.   x = 200
  5. myfunc()
  6. print(x)
复制代码
最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。
看完如果觉得有帮助,欢迎点赞、收藏关注


来源:https://www.cnblogs.com/xiaowange/p/17794464.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具