gpt4 book ai didi

Python 变量 "resetting"

转载 作者:太空狗 更新时间:2023-10-29 18:23:12 24 4
gpt4 key购买 nike

我在一个函数中设置了一个字符串,然后尝试在另一个函数中打印它,发现该字符串从未改变。我做错了什么吗?

在我的脚本顶部定义变量

CHARNAME = "Unnamed"

设置变量的函数

def setName(name):
CHARNAME = name
print CHARNAME

函数的使用

print CHARNAME
setName("1234")
print CHARNAME

输出

Unnamed
1234
Unnamed

最佳答案

当您在 setName 函数中执行 CHARNAME = name 时,您为该范围定义它。也就是说,它不能在函数之外访问。因此,global 变量 CHARNAME(值为 "Unnamed" 的)未被触及,您可以在调用后继续打印其内容函数

您实际上并没有覆盖全局 变量CHARNAME。如果您愿意,您必须在定义变量之前将 global CHARNAME 放入函数 setName 中来全局化变量 CHARNAME:

def setName(name):
global CHARNAME
CHARNAME = name
print CHARNAME

或者,您可以从函数中返回 CHARNAME 的值:

def setName(name):
return name

CHARNAME = setName('1234')

当然这没什么用,你还不如做 CHARNAME = '1234'

关于Python 变量 "resetting",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19884327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com