要指出一个过去动作发生在另一个过去动作之前,用 had + 过去分词。所有人称(I、you、he、she、we、they)都用 had,这里绝不用 has 或 have。
had + 过去分词
He had finished his homework before dinner.
They had never seen snow before that trip.
We had eaten already, so we weren't hungry.
Not "She has finished before I called." — say "She had finished before I called.". 对于较早发生的过去动作,用 had,不用 has。
试一试: By the time we arrived, they ___ already eaten. (had / have / was) 答案: had — 对于较早发生的过去动作,用 had + 过去分词:had eaten。"Have" 是用于现在时的,"was" 也不能这样跟 eaten 搭配。
什么是过去分词?
你在 have / has 的句子里已经会构成过去分词了:大多数动词就是加 -ed(work → worked、finish → finished、play → played),有些常用动词是不规则的,要一个一个记。这里用的是完全一样的形式,新的只是前面那个词:用 had,不用 have 或 has。
Irregular: eat → eaten, see → seen, go → gone, write → written
More irregular: make → made, take → taken, do → done, have → had
Not "She had eated lunch." — say "She had eaten lunch.". Eat 是不规则动词,所以它的过去分词是 eaten,不是 "eated"。
试一试: By lunchtime, he had ___ three emails. (written / wrote / writed) 答案: written — "Write" 是不规则动词,所以它的过去分词是 written(had written)。"Wrote" 是一般过去式,"writed" 不是真正的单词。
否定和提问(hadn't / Had…?)
要变成否定,把 not 放在 had 后面:had not → 缩写 hadn't,再接过去分词。要提问,用 Had 开头:Had + 主语 + 过去分词?简短回答:Yes, … had. / No, … hadn't. 注意这里永远不用 did——had 一个词就够了。
Negative: We hadn't eaten, so we were still hungry.
Question: Had you finished before the bell rang?
Short answer: Yes, I had. / No, I hadn't.
Not "Did you had finished before the bell?" — say "Had you finished before the bell?". 提问时把 had 移到最前面,并保留过去分词 finished——不要加 "did"。
试一试: The bus left before we got to the stop, so we ___ caught it. (hadn't / didn't / haven't) 答案: hadn't — 说更早发生的过去动作的否定,用 hadn't + 过去分词:hadn't caught it。"Didn't" 是一般过去式,"haven't" 是说现在的。
试一试: ___ the film already started when you sat down? (Had / Did / Have) 答案: Had — 要问更早发生的过去动作,用 Had + 过去分词开头:Had the film started? "Did" 在这里不跟 "started" 搭配,"Have" 是说现在的。
较早发生的那件事用 had
当过去发生了两件事,较早的那件用 had + 过去分词。较晚的那件保持一般过去式。
When I arrived, the film had started. (it started first)
She realised she had made a mistake. (the mistake came first)
After Ethan had finished, he took a break.
试一试: Mei 8:15 到了电影院。电影 8:00 就开始了,所以她走进去时电影已经在放了。 哪个符合先发生的动作(电影开始)? (The film had started. / The film started.) 答案: The film had started. — 电影在她到达之前就开始了,所以较早的动作用 had:The film had started。"The film started" 会听起来像是她走进去的那一刻电影才开始,但其实更早就开始了。
只有一个过去动作?用一般过去式就行
如果你只谈一个过去动作,就不需要 had。像平常一样用一般过去式。
I saw him yesterday. (not "I had seen him yesterday")
She called me last night.
We visited Senfarren in May.
Not "I had seen him yesterday. (nothing earlier to compare it to)" — say "I saw him yesterday.". 只有一个过去动作,所以用一般过去式 saw,不用 had seen。
试一试: Lars 只是在告诉你一件简单的事:他昨天在市场碰到了 Camila。没有更早的过去动作需要联系。 哪个符合单一的过去动作? (He met Camila at the market. / He had met Camila at the market.) 答案: He met Camila at the market. — 这里只有一个过去动作,没有更早的动作需要联系,所以用一般过去式:He met Camila。"Had met" 只有在还存在另一个较晚的过去动作时才说得通。
组合起来:哪个动词用 had?
当一个句子里有两个过去动作时,先分清先后:更早的动作用 had + 过去分词,更晚的动作保持一般过去式。by the time、when、before、after 这些词常常提示先后顺序。
By the time the show ended (later), everyone had left (earlier).
When we got home (later), the rain had stopped (earlier).
She posted the letter (later) after she had written it (earlier).
Not "By the time we had arrived, the shop closed." — say "By the time we arrived, the shop had closed.". 到达是更晚的动作 → 一般过去式;关门在先 → had closed。
试一试: By the time Diego ___ at the party, most guests ___ already left. (arrived … had / had arrived … had / arrived … have) 答案: arrived … had — "By the time" 后面,到达是较晚的动作 → 一般过去式 arrived。客人离开在先 → 用 had(had left)。所以只有较早的动作用 had,较晚的动作用一般过去式。