python - 在共享状态的同时编写函数式 Python 代码
问题描述
我正在用 Python 为 ETL 管道编写代码。到目前为止,每个阶段(提取、转换、加载)都有自己的 .py 文件,它们将相互传递数据。在每个文件中,我试图弄清楚如何最好地为在文件中只运行一次的进程组织我的代码。
这是我的问题的一个例子。在 transform.py 中,有加载表、设置数据类型、创建新列和删除行等子阶段。我想组织这些阶段,以便主代码可以只有几行,其中每一行调用每个子阶段。
但是,这些子阶段中的每一个都共享主要数据帧之外的变量,因此我开始考虑组织代码的方法,而不是向每个函数传递大量特殊参数。一些谷歌搜索和思考导致了制作变压器类的解决方案。
我一直认为类具有千篇一律的比喻:当您需要多次重用相同的模式时实现的东西。相比之下,我在做函数式编程;我只会运行一次变压器,它的每个子阶段将只运行一次并且以相同的顺序运行。所以类似乎是解决不同类型问题的方法。但它们是迄今为止我见过的最简单的东西,可以在函数之间共享状态。您认为课程仍然适合吗?
感谢您阅读并考虑我的问题!期待一些讨论。
解决方案
推荐阅读
- excel - 如何制作一个将索引值存储在隐藏字段中的下拉列表?
- twitter-bootstrap-3 - 在选项卡内容中使用面板
- java - Java 挂在 FileOutputStream.close() 上,用于 S3-to-EC2 下载
- django - 理想的为什么要跟踪活动的 websocket 连接?
- angular - Angular HttpClient 简单的 GET 发送预检选项。如何强制我的 GET 保持简单请求?
- java - Java ForkJoinPool 线程未完成
- opencv - 如何实现位矩阵的快速多数投票
- php - 如何在 Laravel 迁移中添加与另一列相同的默认值
- user-interface - 如何使用 Unity 为不同屏幕尺寸设备中的 UI 元素获得正确的分辨率?
- gcc - 构建 64 位 MIPS 大端交叉编译器工具链