Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 存储记录然后遍历记录的最佳方法是什么?_Python - Fatal编程技术网

Python 存储记录然后遍历记录的最佳方法是什么?

Python 存储记录然后遍历记录的最佳方法是什么?,python,Python,旧习惯就是这样,我会声明全局变量,并可能使用列表来存储记录。我明白这并不是现在做这件事的最佳方式,Python通过在整个过程中不断声明“global”来积极阻止您这样做 那我该怎么办呢?我想我应该使用实例,但我不知道如何根据标识符创建一个唯一的实例名称(所有记录都有一个唯一的ID),然后找出我有多少实例 我可以用字典吗 最重要的是,这些值可以在我的代码中的任何地方访问,并且我可以列出记录的数量,并且可以轻松地引用/更改这些值 如果没有更多关于您试图解决的问题、代码的范围和代码的体系结构的信息,就

旧习惯就是这样,我会声明全局变量,并可能使用列表来存储记录。我明白这并不是现在做这件事的最佳方式,Python通过在整个过程中不断声明“global”来积极阻止您这样做

那我该怎么办呢?我想我应该使用实例,但我不知道如何根据标识符创建一个唯一的实例名称(所有记录都有一个唯一的ID),然后找出我有多少实例

我可以用字典吗


最重要的是,这些值可以在我的代码中的任何地方访问,并且我可以列出记录的数量,并且可以轻松地引用/更改这些值

如果没有更多关于您试图解决的问题、代码的范围和代码的体系结构的信息,就很难说清楚

一般来说:

如果您正在编写一个范围相当小的脚本,那么在脚本的全局命名空间中声明变量确实没有什么错

如果您正在编写一个更大的系统—超出了一个模块或文件的范围,但没有在多进程/多线程环境中运行,那么您可以创建一个模块(作为单独的文件)来处理重复使用数据的存储。只要您需要读取或写入该数据,就可以导入该模块。模块可以只公开简单的变量,也可以将数据封装在类中,并公开用于创建/读取/更新/删除的方法


如果您在多进程/多线程环境中运行,那么任何类型的全局内存变量存储都会有问题。您需要使用某种类型的外部存储—Redis等作为临时存储,或者使用某种类型的数据库作为永久存储

我有几根线,没什么大的。我猜每个函数中的全局变量看起来都很混乱。我发现自己希望有一种方法可以只声明一次全球,就在那时我开始认为我做错了;)听起来您可能使用的
global
关键字太多了。看看,你想做什么?显示一些代码。