python应该多新建class吗?

按照传统javaC#来说,每个文件里面都是以class的形式来写的。

但是python貌似可以直接在文件里用def来定义方法。
相比于class来定义,使用上区别感觉仅仅是引用的时候写法不一样,但是因为开发工具都很智能了,也不存在引用困难的问题。

所以想问问大神们有什么建议和看法?

阅读 4.6k
4 个回答

class 和 def 关键字完全不是一回事,python的牛逼之处在于,支持多种编程方式:

  1. 面向对象(class)
  2. 函数式编程
  3. 面向过程

所以按照你的需求而定


谁来告诉我下这回答为啥被踩

这和语言没太大关系,而是软件开发方法的选择。

面向对象,面向过程,面向函数,孰对孰错,谁强谁弱,这个问题争论了很多年

其实只要在合适的场景选择合适的方法就好,代码就是不断重构的,也许你目前用面向过程觉得比较好,面向对象没必要,但是随着model的增多,你又会发现面向对象更好一点(这只是一个例子,并不是说面向对象就比面向过程好)

至于python可以用def直接写函数,python也可以写对象,包括其他语言,比如PHP, Go都是可以自由选择的,至于Java, C#普遍使用class是因为它们就是用面向对象的概念设计和开发的,所以面向对象的理念很重,但这并不代表你一定要面向对象,你也是可以选择的

各有各的好处,合适的场景用合适的工具,每个语言都有它的长处和短处

Class和def的关系就相当于文件夹和文件的关系吧

我想奥卡姆剃刀原则可以回答这个问题 ——「如无必要,勿增实体」

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题