
has done 和 has been done 的区别
在英语中,“has done”和“has been done”是两种常见的动词形式,它们分别代表了不同的时态和语态。下面将详细解释这两种形式的区别及用法。
一、has done(现在完成时,主动语态)
定义:
- “has done”是现在完成时的主动语态形式,表示动作发生在过去但与现在的情况有联系,或者强调对现在造成的影响或结果。
结构:
- 主语 + has + 过去分词
用法:
- 表示从过去某一时间开始一直延续到现在并还可能继续延续下去的动作,常与for和since引导的时间状语连用。例如:“He has lived here for five years.”(他在这里住了五年。)
- 强调过去发生的、持续到现在的动作对现在造成的影响或结果。例如:“I have just finished my homework.”(我刚做完作业。)
- 表示在过去不确定的时间里发生的动作,但已经完成。例如:“She has visited Paris before.”(她以前去过巴黎。)
例句:
- He has eaten breakfast.(他已经吃过早饭了。)
- She has written a novel.(她已经写了一部小说。)
二、has been done(现在完成时的被动语态)
定义:
- “has been done”是现在完成时的被动语态形式,表示动作发生在过去,但对现在有影响,且主语是动作的承受者。
结构:
- 主语 + has been + 过去分词
用法:
- 强调主语是动作的接受者或承受者,而不是执行者。例如:“The book has been sold out.”(这本书已经卖完了。)
- 与现在完成时主动语态类似,也可以表示从过去某一时间开始一直延续到现在的动作,但更侧重于描述状态的变化或对现在的影响。例如:“The room has been cleaned by her.”(房间已经被她打扫干净了。)
例句:
- The project has been completed.(这个项目已经完成了。)
- My car has been repaired.(我的车已经修好了。)
三、总结
- “has done”用于主动语态,强调主语是动作的执行者;而“has been done”用于被动语态,强调主语是动作的承受者。
- 在使用上,“has done”更多地关注动作本身及其与现在的关系;而“has been done”则更多地关注动作的结果及其对主语的影响。
通过理解这两种形式的区别及用法,我们可以更准确地在英语表达中使用它们。
