在python模块中初始化变量的最佳方法

罗伯

假设我需要将传入数据写入云中的数据集中。我何时,何地以及是否需要代码中的数据集,取决于传入的数据。我只想对数据集进行一次引用。实现此目标的最佳方法是什么?

  1. 在开始时初始化为全局变量,并通过全局变量进行访问

    if __name__="__main__":
        dataset = #get dataset from internet
    

这似乎是最简单的方法,但是即使不需要它,也要初始化变量。

  1. 第一次需要数据集时获取参考,保存在全局变量中,并使用get_dataset()方法进行访问

    dataset = None
    
    def get_dataset():
        global dataset
        if dataset is none
            dataset = #get dataset from internet
        return dataset
    
  2. 第一次需要数据集时获取参考,另存为函数属性,并使用get_dataset()方法进行访问

    def get_dataset():
        if not hasattr(get_dataset, 'dataset'):
            get_dataset.dataset = #get dataset from internet
        return get_dataset.dataset
    
  3. 任何其他方式

姆里

您可能希望将调用数据的服务包装到一个类中

class MyService():
  dataset = None

  def get_data(self):
    if self.dataset = None:
      self.dataset = get_my_data()
    return self.dataset

然后,您可以在主实例中实例化一次,并在需要时使用它。

if __name__="__main__":

  data_service = MyService()
  data = data_service.get_data()
  # or pass the service to whoever needs it
  my_function_that_uses_data(data_service)

这清楚表明存在dataset要使用变量。

同样,使用对象和类会使大型项目更加清晰,因为功能应该从类名和方法中不言自明。

请注意,您也可以轻松地使它成为通用服务,并通过它来获取初始化中的数据(例如url?),因此可以在不同的端点上重复使用它。

与您的选项相比,与此相对的是,如果需要(或错误地),您可以多次实例化同一类,在这种情况下,将为每个实例获取并存储数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Python

在TensorFlow中,有什么方法可以初始化未初始化的变量?

来自分类Python

在Python中初始化dict的最佳方法是什么?

来自分类Java

在Google集合中静态初始化地图的最佳方法

来自分类Dev

在PHP中初始化(空)数组的最佳方法

来自分类Java

初始化Gson对象的最佳方法

来自分类Dev

检查Python中的初始化变量

来自分类Dev

rails 4-初始化程序或使用它的模块中需要类-最佳实践

来自分类Dev

在Python中“初始化”变量?

来自分类Dev

Python使用初始化文件和默认常量文件中的变量初始化类

来自分类Dev

在Python 3中重新初始化字典的最佳方法

来自分类Dev

在c ++中声明和初始化变量的最佳实践

来自分类Dev

在TensorFlow中初始化变量的最佳方法是什么?

来自分类Dev

Python 3中的Python类变量初始化不同

来自分类Dev

Vuex模块初始化最佳实践

来自分类Dev

初始化QString的最佳方法

来自分类Dev

变量初始化-Python

来自分类Dev

如何使用方法初始化Python中的模块级变量?

来自分类Dev

Python最佳实践:初始化变量

来自分类Dev

使用Nuxt.js时,动态Vuex模块初始化的最佳方法是什么?

来自分类Dev

在Objective-C中初始化对象的最佳方法

来自分类Dev

如何在模块中初始化ruby类变量

来自分类Dev

Python:无法从初始化文件导入在setUp方法中初始化的全局变量

来自分类Dev

初始化类成员的最佳方法?

来自分类Dev

JOOQ初始化DAO最佳方法

来自分类Dev

使用方法进行变量初始化(Python)

来自分类Dev

在python的类中初始化实例变量的最佳实践是什么?

来自分类Dev

在多态向量中存储初始化列表的最佳方法

来自分类Dev

在 Python 中初始化类变量的快速方法

来自分类Dev

初始化变量并将其作为参数传递与在方法体中初始化

Related 相关文章

  1. 1

    在TensorFlow中,有什么方法可以初始化未初始化的变量?

  2. 2

    在Python中初始化dict的最佳方法是什么?

  3. 3

    在Google集合中静态初始化地图的最佳方法

  4. 4

    在PHP中初始化(空)数组的最佳方法

  5. 5

    初始化Gson对象的最佳方法

  6. 6

    检查Python中的初始化变量

  7. 7

    rails 4-初始化程序或使用它的模块中需要类-最佳实践

  8. 8

    在Python中“初始化”变量?

  9. 9

    Python使用初始化文件和默认常量文件中的变量初始化类

  10. 10

    在Python 3中重新初始化字典的最佳方法

  11. 11

    在c ++中声明和初始化变量的最佳实践

  12. 12

    在TensorFlow中初始化变量的最佳方法是什么?

  13. 13

    Python 3中的Python类变量初始化不同

  14. 14

    Vuex模块初始化最佳实践

  15. 15

    初始化QString的最佳方法

  16. 16

    变量初始化-Python

  17. 17

    如何使用方法初始化Python中的模块级变量?

  18. 18

    Python最佳实践:初始化变量

  19. 19

    使用Nuxt.js时,动态Vuex模块初始化的最佳方法是什么?

  20. 20

    在Objective-C中初始化对象的最佳方法

  21. 21

    如何在模块中初始化ruby类变量

  22. 22

    Python:无法从初始化文件导入在setUp方法中初始化的全局变量

  23. 23

    初始化类成员的最佳方法?

  24. 24

    JOOQ初始化DAO最佳方法

  25. 25

    使用方法进行变量初始化(Python)

  26. 26

    在python的类中初始化实例变量的最佳实践是什么?

  27. 27

    在多态向量中存储初始化列表的最佳方法

  28. 28

    在 Python 中初始化类变量的快速方法

  29. 29

    初始化变量并将其作为参数传递与在方法体中初始化

热门标签

归档