Are classes/OO in Python a good approach?
基本上,为什么我看到很多人说我们不应该使用Python类?我还是一个新手,对我来说,这些课程看起来不错。我觉得这个问题的答案在于我对自己还没有掌握的语言的理解。
尽我所能直截了当地说:编写Python类并在Python中使用OOP是好还是坏?
- 你到底在哪里看到很多人这么说?
- 例如,这里是stackoverflow!
- @罗塞罗:你能举出人们说的任何问题/答案的例子吗?
- @和往常一样,它取决于并且只适用于特定的案例,但是请参见Pycon Talk的"停止编写类"。
- 的确。stackoverflow.com/questions/2573135/…第1个答案,第9个要点
- @他的逻辑有缺陷。函数式编程和面向对象编程是正交概念——它们互不干扰,可以共存。看看斯卡拉。
- @看看谁?
- @dcastro和rserrao:注意讽刺意味着"更好"的引用,最后一个要点是"找到平衡"。
- @rserrao scala是一种100%面向对象的语言,专注于函数式编程。说"不要使用类,而是使用函数式编程"毫无意义。
- @德尔南,哦,嘘,我把我的讽刺探测器留在家里了:''(
- @德尔南,这意味着我误解了?
- @你误解了一个答案,是的。但我确实认为,在Python社区中,对于用于特定目的的类有一些抵触情绪。我知道我偶尔会告诉人们,他们做的事情不需要上课。
- "不要使用变量,而是使用运算符"或"dicts比lists更好",这两者都有同样的意义。
我们可以用几种方法来解释这一点。我看到两个。
一般来说,不使用类的想法并不是对OOP的拒绝。这是一个确认,它是一个工具,可以在适当的时候使用。因为python不是严格面向对象的,所以只要函数合适,就可以使用函数。您可能会听到人们拒绝课程,因为他们没有为项目提供任何优势,从而导致代码膨胀。这就是停止写类对话背后的概念。
令guido沮丧的是,python也可以用于函数式编程。也许和你谈话的人对函数式编程和避免状态感兴趣。相反,他们希望关注数据及其转换。
- + 1。我承认我仍然相信我看到的一切在前programmers wrapping Java类,它让我itch。
- 第一点,我认为国王is not the点,"他们太重量for the项目"零",但"他们独特的优势(但在函数add some膨胀解决the same)工作过。"
- 我referring @ delnan not to代码膨胀,性能特点。我喜欢你的wording。
- "我不认为所有的重量"专门开发的性能的措施,但没有什么"T参考,这里是我们的:-)我知道,"膨胀"/"注重量"taken to also be均值"概念和"黑莓"命名空间污染",which are both of…但somewhat arguably广泛接受。
- 我承认我仍然相信,在欧洲的项目充满def功能编程,它让我itch。joelcornett @
- "哦,天啊johnmee,if only there was some sort of中的方式。if only one可以混搭paradigms…哦,听我说废话。back to the和火炬。pitchforks,人!