could have done 和 might have done 的区别
could have done和might have done的区别:含义不同、用法不同、侧重点不同
一、含义不同
could have done
本能够做
might have done
过去可能做
二、用法不同
could have done
could (不能用 can) have done 表示“过去本能够做某事却未做。”
注意:其否定形式 couldn't have done 没有虚拟语气的用法,couldn't have done 只能表推测,相当于 can't have done,意为:“过去不可能做了某事。”
I think that he couldn't have gone abroad. I saw him just now.
我认为他不可能出国了。我刚才还看见他了。
might have done
might (不能用 may) have done 表示“过去本可以做某事却未做。”
注意:其否定形式 might not have done 没有虚拟语气的用法,might not have done 只能表推测,相当于 may not have done,意为:“过去可能没有做某事。”
I can't find my keys. I might have left them at the school yesterday.
我找不到我的钥匙了。我可能昨天把他们落在学校了。
三、侧重点不同
could have done
后接完成时的用法:在否定句或疑问句中表示对过去发生过的事情的“怀疑”或“不肯定”的态度。
在肯定句中,可以表示过去可能做到而实际并没做到的事情,有“劝告”或“责备”的语气。
might have done
后接完成时的用法:表示对过去某事的推测,认为某一件事情在过去可能发生了。如果使用might,语气就比较婉转或更加不肯定。
可以表示过去本来可以做到而实际没有做到的事情,有“劝告”或“责备”的语气。
may / might have done 表示“过去可能做了某事”。may 比 might
表示的可能性在说话人看来稍大些。may/might not have done表示“过去可能没有做某事。”例如:
I can't find my keys. I may / might have left them
at the school yesterday. 我找不到我的钥匙了。我可能昨天把他们落在学校了。
John may/might not have passed the exam; he looks
very sad.约翰可能没有通过考试。他看起来很忧伤。
注意:may/might have done表推测不能用于疑问句中。
3. can/could have done
表推测一般用在否定句和疑问句中,表示不相信或怀疑的态度。
Can/Could he have passed the exam?他可能通过了考试吗?
I think that he couldn’t/can't have gone abroad. I
saw him just now.我认为他不可能出国了。我刚才还看见他了。
注:表示推测过去某动作发生的可能性时,就表示的可能性程度而言,must 最大,could 其次,may
更次之,might 最小。例如:
“I wonder how Tom knew about your past.”
“我想知道汤姆是怎么知道你的过去的。”
“He must / could / may / might have heard of it from
Mary.” “他肯定/很可能/可能/兴许(没准儿)已从玛丽那儿听说此事了。”
coulda done 另外还有 可以表示 capability 的一个意思。