python - 全局变量未更新
问题描述
我的全局变量没有更新,它打印出来的都是 0。为什么会这样?全局变量是不好的做法吗?
counter = 0
def count():
global counter
print(counter)
counter += 1
return counter
if __name__ == "__main__":
count()
解决方案
您首先打印它,然后才更改它的值。如果你搬家
counter += 1
在该行上方print
,您将看到它打印1
.
它只会打印一次,而不是连续打印。由于您不是count
在某种循环中调用,因此它只会更新并打印一次结果。
推荐阅读
- android - 在不使用 AWS SDK 的情况下将 AWS Cognito 与 Android 应用程序集成
- postgresql - 用于 PostgreSQL 的数据迁移助手迁移到 Azure PostgreSQL(不是 DMS)
- datetime - 在groovy中将特定的日期时间转换为毫秒
- c# - WPF 中的死锁:如何不阻塞 HwndHost.BuildWindowCore 中的 GUI 线程?
- azure - 每周三上午 9:30 和每月 2 号的 Cron 表达式
- reactjs - 使 Redux thunk 调用同步以刷新令牌
- python - 如何在 ttk 笔记本中创建“n”标签?n 是一个变量(用户输入)
- r - RStudio 本地作业:使用“sapply”的“source”多个脚本将不返回任何内容
- android - SVG 图像未在 Nativescript 中显示
- wmi - 如何在多处理器机器上使用 Get-WmiObject 的 Win32_Processor 类