全球数据框架 - 好的或坏的

时间:2016-07-22 02:43:36

标签: python pandas global

我有一个程序,我将数百万行加载到数据帧中,并且我将它们声明为全局,因此我的函数(> 50)都可以使用它们,就像过去使用数据库一样。我读到使用全局变量是一个坏的,由于它的内存映射,使用全局变量更慢。

我想问一下全局是否糟糕,良好的做法会如何?传递>函数和嵌套函数周围的10个数据框似乎也不是很干净的代码。 最近程序变得笨拙,因为不同的函数也更新不同的单元格,插入,删除数据框架中的数据,所以我想将数据框包装在一个类中,使其更易于管理。这是个好主意吗?

1 个答案:

答案 0 :(得分:2)

是。您应该将数据包装到对象中,而不是使用全局变量,而是将该对象传递给函数(请参阅依赖注入)。

将其包裹在对象中而不是使用全局意志:

  1. 允许您对代码进行单元测试。这绝对是最重要的原因。使用全局变量会使测试代码变得非常困难,因为由于其全局特性,无法单独测试任何代码。
  2. 安全地对您的代码执行操作,而不必担心随机可变性错误
  3. 停止发生可怕的并发错误,因为一切都是全局的。