python - 如何在一个函数中声明一个变量并使用 python 在另一个函数中引用它?
问题描述
说我有这个代码:
def Declare():
x = 5
def Print():
print(x)
Declare()
Print()
这将引发错误,因为在 Print() 函数中,未定义 x。有没有办法创建一个可以在任何地方使用 python 引用的静态变量?
解决方案
这有效:
def declare():
global x
x = 5
def print_x():
global x
print(x)
declare()
print_x()
几点说明:
- 通常,全局变量不是一个好的解决方案,您可能应该考虑在函数之间传递数据的更好方法;
- 不要大写你的函数名(或在函数和变量名中使用大写),Python 中的大写表示类,而不是函数;
- 不要定义“遮蔽”标准 Python 关键字和库函数的东西,除非你真的必须(注意我
print
改为print_x
; - 这在没有
global x
in的情况下也可以工作print_x
,因为该函数在运行时可以访问全局范围,因此将其放入是一个偏好问题。global
仅当您想在全局范围内定义和修改变量时才需要。
推荐阅读
- vue.js - Vue 从承诺中返回
- python - 拆分大量数据并为所有数据块循环相同的代码
- javascript - NodeJS req.body JSON 有但没有价值
- oracle - ora2pg安装dmake命令警告
- android - android webView自动填充用户名和密码不起作用
- python - 如何在 python 中访问库“plot_utils”?
- asp.net - IdentityServer3:错误请求 - 请求太长。请求头的大小太长,SignInMessage Cookie 重复
- c# - '进程无法访问文件'logs\dashboard.log',因为它正被另一个进程使用。' 在多任务环境中
- pyspark - 使用 pyspark 开发火花流但未获得预期结果
- apache-camel - 以编程方式获取 Apache Camel 组件操作、参数、选项说明