ARTICLE · 1018905
高中英语语法里的“过去完成时”就该这么学!
高中英语里的看到过去完成,很多同学就开始背“had + done”。其实没那么复杂,过去完成时最核心的一句话就是:过去的过去。也就是说,过去发生了两件事,其中一件发生得更早,就可以用过去完成时。

一、先搞懂它到底在说什么
比如:
When I got to the station, the train had left.
我到车站的时候,火车已经开走了。
这里有两个动作:“火车开走”和“我到车站”。两个事情都发生在过去,但是很明显,火车开走在前,我到车站在后。
所以更早发生的那个动作,用过去完成时,也就是:
had +过去分词
你可以把它理解成一条时间线:
火车开走→ 我到车站→ 现在
所以had left 就是“在过去某个时间之前,就已经离开了”。

二、结构其实特别简单
过去完成时的基本结构:
主语+ had + 过去分词
注意,不管主语是I、you、he 还是they,过去完成时永远都是had。
比如:
I had finished...
He had finished...
They had finished...
全部都是had,真正变化的是后面的过去分词。
finish → finished
go → gone
see → seen
eat → eaten
write → written
所以看到had + 过去分词,基本就要想到过去完成时。

三、最重要的:到底什么时候用?
这里千万别理解成“只要有两个过去的动作,就必须用过去完成时”,不是这样的。
关键是要表达:某个过去动作发生之前,另一个动作已经完成。
比如:
When I arrived, he left.
可以理解成:我到了,然后他走了。
如果写成:
When I arrived, he had left.
意思就变成:我到的时候,他已经走了。
一个had,时间关系马上就不一样了。
所以考试里看到两个过去动作的时候,先别急着套公式,先问自己一句:
谁先发生?
然后再判断是不是需要强调“过去的过去”。

四、看到这些词,要特别敏感
过去完成时经常和before、after、by the time、when、until、already、just 等词一起出现。
比如:
By the time I arrived, the movie had started.
等我到的时候,电影已经开始了。
看到by the time,脑子里可以马上画一条时间线:
电影开始→ 我到
所以用:
had started
再比如:
She had already left when I called her.
我给她打电话的时候,她已经离开了。
“离开”发生在前,“打电话”发生在后,所以用had left。

五、before和after 怎么判断?
这个地方特别容易绕。
比如:
The train had left before I arrived.
火车在我到之前就已经开走了。
很清楚:
火车开走→ 我到
所以前面的动作用了过去完成时。
但有时候题目写:
After he finished his homework, he went out.
这里两个动作的先后已经非常清楚了,“完成作业”在前,“出去”在后,这种情况下不一定非要用过去完成时。
所以一定记住:
不要看到before、after 就无脑填had。
真正决定时态的,还是你想不想强调“过去某个时间之前已经完成”。

六、过去完成时和一般过去时怎么区别?
这个是重点。
一般过去时:
did
表示过去发生的事情。
过去完成时:
had done
表示在过去某个时间之前已经发生的事情。
比如:
I lost my key.
我把钥匙弄丢了。
这里只是在说过去发生了“丢钥匙”这件事。
如果说:
I had lost my key before I got home.
意思就是:我回家之前,钥匙就已经丢了。
这里明显有两个过去时间点,所以用过去完成时就很自然。

七、被动语态也会考
过去完成时的被动结构是:
had been +过去分词
比如:
The work had been finished before he arrived.
在他到达之前,工作就已经完成了。
看到had been done,就要想到过去完成时的被动。
不要把它和一般过去时的被动was/were done 搞混。
八、还有一个特别容易考的:虚拟语气
如果是对过去发生的事情进行假设、后悔,经常也会出现:
had +过去分词
比如:
If I had known it, I would have told you.
如果我当时知道这件事,我就会告诉你了。
实际上表达的是:
我当时不知道。
所以这里的had known 不是普通的“过去的过去”,而是对过去事实相反的假设。
这个一定要和普通过去完成时区分开。

最后记几个诀窍
过去完成时最核心的其实就一个问题:
“过去发生的两个事情,哪个在前?”
先找时间关系。如果想表达“过去某个时间之前已经完成”,就考虑:
had +过去分词
看到had done,脑子里直接翻译成:
“在那个过去时间点之前,已经……”
比如:
had left =已经离开了
had finished =已经完成了
had arrived =已经到达了
另外几个常见情况也可以重点留意:
by the time +过去时,主句常用had done
when +过去时,另一个动作可能用had done
before / after要结合具体时间关系判断,别机械套。
最后再提醒一句:过去完成时不是“过去式的加强版”。
它真正的作用,是把两个过去的时间点区分开。
所以做题的时候别光盯着动词,先画时间线,再决定时态。
这个方法比死背“had + done”好用得多。