素材牛VIP会员
python应该多新建class吗?
 小***心  分类:Python  人气:781  回帖:4  发布于6年前 收藏

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

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

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

 标签:python

讨论这个帖子(4)垃圾回帖将一律封号处理……

Lv5 码农
蜗***牛 Linux系统工程师 6年前#1

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

Lv5 码农
陈***8 其它 6年前#2

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

Lv5 码农
星***屋 产品经理 6年前#3

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

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

所以按照你的需求而定


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

Lv5 码农
qt***ah 页面重构设计 6年前#4

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

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

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

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

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

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取