以下整理過去完成式的常見疑問,涵蓋 had + 過去分詞句型、與過去簡單式的差異、時間詞搭配及 had had 用法, 幫助你快速釐清容易混淆的觀念。
過去完成式的基本結構是 主詞 + had + 過去分詞。 不論主詞是單數或複數,都使用 had。
She had finished the report before the meeting began.
(會議開始之前,她已經完成報告了。)
不一定。只要句子或前後文提供清楚的 過去參照點, 就可以使用過去完成式,不必在同一句中出現另一個過去動作。
By noon, they had finished the work.
(截至中午,他們已經完成工作了。)
過去簡單式描述過去發生的事件; 過去完成式則描述在某個過去參照點之前, 已經發生或完成的事。
When I arrived, he left.
(我到達時,他離開了。)
When I arrived, he had left.
(我到達時,他已經離開了。)
第一句通常表示他在我到達時或緊接著離開; 第二句表示他在我到達之前就已離開。
在過去完成式中,had 後面必須接過去分詞, 例如 had gone,不能寫成 had went。 不過,had 也可以是一般動詞 have 的過去式,此時可以接名詞作受詞。
She had gone home before I called.
(我打電話之前,她已經回家了。)
She had a car.
(她當時有一輛車。)
不一定。before 和 after 本身能交代事件先後, 因此兩個動作都使用過去簡單式也可以。 若想強調某個動作在過去參照點之前已完成,可以使用過去完成式。
After she finished her homework, she watched TV.
(她完成作業後,就看電視。)
After she had finished her homework, she watched TV.
(她完成作業後,就看電視。)
可以。這些副詞通常放在had 與過去分詞之間。 already 表示「已經」,just 表示「剛剛」,never 表示「從未」。
She had just left when I arrived.
(我到達時,她剛剛離開。)
never 本身已有否定意思,不需要再加入 not。
可以。搭配for + 一段時間或 since + 起始時間, 能說明某個狀態持續到過去的參照點, 不一定表示狀態在當時就已結束。
By 2020, they had known each other for ten years.
(到 2020 年時,他們已經認識彼此十年了。)
是。第一個 had 是助動詞, 第二個 had 是一般動詞 have 的過去分詞, 因此 had had 符合過去完成式的結構。
She had had breakfast before she left home.
(離家之前,她已經吃過早餐了。)