gpt4 book ai didi

python - Python 方法中的执行顺序

转载 作者:太空狗 更新时间:2023-10-30 02:32:25 25 4
gpt4 key购买 nike

<分区>

我已经尝试查看几个不同的示例,但我不确定为什么这不起作用。假设我有这样的代码:

def loadVariable():
global count
count = 0

def loadDictionary():
location = 'some location'
global myDict
myDict = pickle.load(open(location, 'rb'))

def main():
loadVariable()
loadDictionary()
for item in myDict:
if item.startswith("rt"):
count += 1
item = item[3:]

if __name__ == '__main__':
main()

在我看来,执行 if 语句会启动 main() 方法。然后加载全局变量,加载字典,执行for循环。

但是,当我运行代码时,我被告知局部变量 count 在赋值之前被引用。为什么会这样?

编辑(解释我在评论中写的一些东西):

这是行不通的(尽管我认为那是因为这里用错了 global):

global count

def loadVariables()
count = 0

def main():
loadVariables()
rest of code etc

这也行不通:

def loadVariables()
count = 0

def main():
global count
loadVariables()
rest of code etc

到目前为止我让它工作的唯一方法是使用上面提供的链接,它将计数视为一个列表,如下所示:

def loadVariables():
global count
count = [0]

def main():
loadVariables():
rest of code etc
count[0] += 1

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