V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
pinkman
V2EX  ›  问与答

编程中什么时候最适合/需要定义类呢? [Python例举]

  •  
  •   pinkman · 2013-08-13 17:29:06 +08:00 · 2634 次点击
    这是一个创建于 4122 天前的主题,其中的信息可能已经有所发展或是发生改变。
    举个具体Python脚本的例子,譬如一个爬虫脚本我正在写的。爬虫里面有爬取的目标地址url,有爬抓取网页的步骤。

    方案一是纯过程式的
    方案二是将爬去的步骤封装成函数,以便复用(譬如可以传入不同的url)
    方案三是面向对象的,将url封装为property?,将步骤封装成方法。

    有必要采用面向对象的方法吗?好处体现在哪呢?
    6 条回复    1970-01-01 08:00:00 +08:00
    celon
        1
    celon  
       2013-08-13 17:31:50 +08:00
    个人观点:
    如果只是一次性项目,方案一不错。
    需要复用,方案二。
    完全没有必要OO
    pandada8
        2
    pandada8  
       2013-08-13 17:33:31 +08:00
    自己写爬虫的时候用OO只是为了有个放数据的地方……调用函数的时候不用跟具体参数……
    itommy
        3
    itommy  
       2013-08-13 18:25:55 +08:00
    我从方案一到方案二,现在有发展到方案三的节奏了
    meta
        4
    meta  
       2013-08-13 18:40:07 +08:00
    你先随便写,写的函数多到一定规模的时候就会发现这样实在太乱了,再发展下去自己要控制不住了,这时候自然的就会想到把使用同一批变量的函数弄成一个类了。
    workaholic
        5
    workaholic  
       2013-08-13 18:44:06 +08:00
    方案一至方案三, 可扩展性和易维护性 越来越好
    thedevil5032
        6
    thedevil5032  
       2013-08-13 20:40:33 +08:00 via iPad
    之前有个要求很简单的项目,于是我就按照一那样写了。完全没问题。

    后来,客户要增加的功能多了,代码多了,就全乱套了。只好花一个晚上推倒,按照三来做。

    现在无论是加功能还是 DEBUG,都容易得多。

    所以,楼上说得好。 :D
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4005 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 10:23 · PVG 18:23 · LAX 02:23 · JFK 05:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.