首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将面向对象的编程方法应用于数据科学领域?

如何将面向对象的编程方法应用于数据科学领域?
EN

Data Science用户
提问于 2020-07-01 14:37:12
回答 2查看 663关注 0票数 3

我多次被问到,为什么在编写代码时不使用类、对象和面向对象的概念?

我做什么?

编写python脚本,从不同的源获取数据,应用预处理代码,创建必要的变量,并将这些精化变量用于建模过程。

你好?

编写必要的函数来完成特定的任务,所有的功能都会被称为自上而下、程序化的方法。对于不同的模块,我将它们保存在不同的python文件中,然后简单地导入它们。

在当前的过程中,我从未发现使用OOPs概念的动机。

你能建议我如何改进我的编码实践吗?我现在的架构中有哪些缺陷可以通过OOPs来实现呢?

EN

回答 2

Data Science用户

回答已采纳

发布于 2020-07-02 12:24:07

当然也有例外,但是一般来说,OOP风格在软件工程师编写的可靠的产品代码中被更广泛地使用。非软件工程师(如数据科学家)在POC或笔记本电脑上更多地使用功能风格等。OOP将有助于避免重复发明车轮或多次编写相同或类似的代码。函数在一定程度上实现了这一点,但是类通过类继承、多态性等方式更加灵活。在更改任何东西之前,您应该考虑每种样式的优缺点和当前的情况。

使用OOP的一些原因:您与许多人一起从事大型项目,您的代码需要可靠和可移植。

坚持使用函数的一些原因等等:您与一两个其他的小项目一起工作,代码是POC,不会在生产中使用,而且生命周期很短。

票数 2
EN

Data Science用户

发布于 2020-07-01 17:25:02

这是一个关于面向对象编程背后的动机的非常有趣的问题。

使OOP特别吸引人的主要原因是函数和对象的可重用性,您可以在不同的分析中重用它们。例如,对于一个NLP模型,您创建了一个清除文本的函数(返回小写文本,不需要停止字)。几天后,您想要生成另一个NLP模型,它以与以前NLP模型相同的方式预处理文本。在这里,您可以将干净文本方法作为预处理类,并重复使用干净文本方法以与前面相同的方式清理文本。

OOP背后的另一个原因是它的可读性。我发现跟踪OOP代码中的bug显然比函数式编程代码容易得多。这反过来又使测试和调试类中的独立组件变得更加容易。

这就是我对它的看法,我相信每个人都有适合你和你工作的团队的编程方法。我期待着阅读其他人对这个问题的看法/答案。

票数 2
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/76962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档