前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python--如何在函数中使用全局变量

python--如何在函数中使用全局变量

作者头像
程序熵
修改2024-01-18 07:59:12
1710
修改2024-01-18 07:59:12
举报
文章被收录于专栏:技术汇技术汇

问:

如何在函数内部创建或使用全局变量?

如何在其他函数内部使用一个在某个函数中定义的全局变量?

答:

你可以在其他函数中使用全局变量,只要在每个给它赋值的函数中声明它为 global 变量:

代码语言:python
复制
globvar = 0

def set_globvar_to_one():
    global globvar    # 需要修改 globvar 的全局副本
    globvar = 1

def print_globvar():
    print(globvar)    # 无需声明全局变量即可读取 globvar 的值

set_globvar_to_one()
print_globvar()       # 打印 1

由于不清楚函数中的语句 globvar = 1 是在创建局部变量还是在改变全局变量,Python 默认创建局部变量,并让你明确地使用 global 关键字选择另一种行为。

官方文档中写道:

global语句在整个当前代码块中都有效。这意味着列出的标识符应被解释为全局变量。如果没有global关键字,将无法对全局变量进行赋值,尽管自由变量可以在未声明为全局的情况下引用全局变量。

在global语句中列出的名称,在该global语句之前的同一文本代码块中不应被使用。

在global语句中列出的名称,不能定义为形式参数,也不能定义为with语句或except子句中的目标,也不能在for目标列表、类定义、函数定义、import语句或变量注释中定义。


参考文档:

  • stackoverflow question 423379
  • https://docs.python.org/3/reference/simple_stmts.html#grammar-token-python-grammar-global_stmt

相关阅读:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序熵 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档