英语词组辨析:have done VS have been doing

嘉馨 1172分享

  a. We have been planting trees all this week.

  b. We have planted trees all this week.

  上面a、b两个句子哪一个更符合习惯?为什么?

  英语的现在完成时与现在完成进行时让不少童鞋困惑。小编在此,任它什么小鬼大神,帮你搞定。

  要搞清两者异同,我们先来搞清它们各自的特征,再让它们相互PK,什么鬼都得现出原形。

  一、现在完成时

  现在完成时表示以下动作:

  1. 说话时已经发生或完成的动作,强调动作结果依然可见或动作的影响依然存在。句中常可以有already, yet, just等副词。

  例如:

  a. I have already/just seen the film.(影响:我不想再看了。)

  b. I have not yet seen the film. (结果:对其内容尚不了解。)

  也可表示到说话时已重复多次或实现一定结果的动作:

  c. I have already seen the film twice.

  d. I have seen three films this week.

  2. 发生于过去的动作,但发生的具体时间不明确。句中常有before、ever、never、once等副词。

  例如:

  a. I have been to that city once. (去过。但何时去的那个城市,记不清了,或不想明确。)

  b. --- Have you ever been to that city?

  --- Yes. I went there three years ago. (有确定的过去时间,就必须用一般过去时。)

  3. 开始于过去,延续到现在的动作,或自过去某时起到现在经常重复的动作(有重复的次数或重复的结果)。常有since two years ago, for two years, over/in/during the last/past two years, so far, up to now等“段时间”状语。

  例如:

  a. I have worked /lived here for over 20 years. (持续不间断)

  b. So far we have planted acres of trees. (重复结果)

  c. I have been to that city many times. (重复次数)

  二、现在完成进行时

  现在完成进行时表示:开始于过去,延续到现在的动作,或自过去某时起到现在不断重复的动作(无重复次数或重复结果,这是与现在完成时的一个重大区别)。

  a. I have been living /working here for over 20 years. (持续不间断)

  b. We have been learning English since a very young age. (重复)

  完成进行时本质上是进行时,所以,状态动词没有完成进行时。常见状态动词包括以下几类:

  1. 认知类:know, realize, learn(获悉), see(明白), understand, recognize, 以及表“看法”的动词expect, believe, suppose, consider等。

  2. 归属类:have, possess, own, owe, belong to, 等。

  3. 好恶类:love, like, appreciate, prefer, hate, dislike, 以及表“愿望”的动词want, desire, hope 等。

  4. 连系动词中的“感官类”与“保持类”:

  感官类:look, sound, smell, taste, feel, seem

  保持类:keep, remain, stay, hold

  5. 功能特性类:weigh, measure, sell, write, bend, tear, stand, 等。

  三、have done VS have been doing

  由上述可知,下列情况下不能用完成进行时:

  1. 句中有already, yet, just, before, ever, never, once等副词;

  2. 句中有表示“次数”或“结果”的词语;

  3. 状态动词;

  只有一种情况两者可互换:开始于过去、不间断持续到现在的动作。

  现在回到开头的两个句子。a句更符合习惯,因为完成进行时表示一定时段内重复的动作,完成式表示重复动作时后面要跟重复的次数或重复的结果。

  简言之, have done大多强调动作的“完成”与“结果”;have been doing仅仅侧重动作的“持续”或“重复”。

本文为原创文章,版权归作者所有,未经授权不得转载!


作者:苏北(公众号 苏北教育)

    相关文章

    450611