Search blog
【過去完成式完整攻略】徹底搞懂 Past Perfect 用法、結構、比較與例句 (保證學會!)
您是否曾在使用英文時遇到這樣的困惑:如何表達「在過去某個時間點之前就已發生的事情」?或許您已經掌握了過去式和現在完成式,但當需要描述「過去的過去」時,卻不知該如何準確表達。這正是過去完成式(Past Perfect Tense)的重要價值所在,它能幫助我們清晰地傳達過去事件的先後順序和完成狀態。
過去完成式是英語時態系統中不可或缺的組成部分,它主要用於表達「在過去某一時間點或事件之前已經發生或完成的動作」。掌握這個時態,能讓您的英語表達更加精確和豐富。
理解過去完成式的關鍵在於把握其「過去的過去」的核心概念。想像時間是一條線,右端是「現在」,往左移動則是「過去」。在這條線上,如果有兩個過去的事件,先發生的那個就是需要用過去完成式表達的事件。例如「When I arrived at the station, the train had already left. (當我到達車站時,火車已經離開了。)」,火車離開發生在我到達之前,因此用過去完成式表達「had left」。過去完成式的基本結構是「had + 過去分詞」,這個結構在肯定句、否定句和疑問句中有著不同的應用方式。
過去完成式與其他時態的區別也十分重要。與過去簡單式相比,過去完成式強調的是動作的先後順序和完成狀態,而過去簡單式則只是陳述過去發生的事實。與現在完成式相比,差異在於時間參照點:過去完成式連結過去,現在完成式連結現在。了解這些差異,才能在適當的情境中選擇正確的時態。
本文將帶您全面掌握過去完成式的用法、結構和比較,通過豐富的例句和實用的練習,確保您能自信地運用這個重要時態。無論您是準備考試、提升寫作能力,還是增強口語表達,這份完整攻略都能幫助您達成目標。
讓PREP一起深入探索過去完成式的奧秘,掌握這個讓英語表達更精確的重要工具!從基本概念開始,逐步建立您對過去完成式的全面理解。

I. 什麼是「過去完成式」(Past Perfect Tense)?
1. 概念
過去完成式 (Past Perfect Tense) 是表達「過去的過去」的時態。它用來描述在過去某一時間點或事件之前已經發生或完成的動作。換句話說,當我們談論兩個過去的事件時,先發生的那個動作常使用過去完成式來表達。
想像時間是一條向左延伸的線,右端是「現在」,往左移動則是「過去」。在這條線上,如果有兩個過去的事件,先發生的那個就是需要用過去完成式表達的事件。它就像是在說:「在那個過去的時間點之前,這件事已經完成了。」
以下是三個例子,幫助您理解過去完成式的概念:
-
When I arrived at the station, the train had already left. (當我到達車站時,火車已經離開了。)
-
She had studied English for five years before moving to London. (在搬到倫敦之前,她已經學了五年英語。)
-
The children were happy because they had received new toys. (孩子們很開心因為他們收到了新玩具。)

2. 時間軸
以下時間軸可幫助您理解過去完成式的時間定位:

這條時間軸展示了「過去完成式」(A點)發生在「過去某時間點」(B點)之前,而B點則是用過去簡單式表達的時間點。
II. 掌握「過去完成式」的黃金句型公式
掌握過去完成式的結構是運用這個時態的第一步。以下是過去完成式的基本句型公式:
1. 肯定句
結構: 主詞 + had + 過去分詞 (p.p.)
過去完成式例句:
-
She had finished her homework before dinner. (她在晚餐前已經完成了她的作業。)
-
They had lived in Taipei for ten years before moving to Taichung. (他們搬到台中之前已經在台北住了十年。)
-
The train had left when we arrived at the station. (當我們到達車站時,火車已經離開了。)
2. 否定句
結構: 主詞 + had not (hadn't) + 過去分詞 (p.p.)
過去完成式例句:
-
He had not (hadn't) seen the movie before I recommended it. (在我推薦這部電影之前,他還沒看過。)
-
They had not (hadn't) visited the museum until last year. (直到去年他們才參觀了這個博物館。)
-
I had not (hadn't) understood the concept until my teacher explained it again. (直到老師再次解釋,我才理解了這個概念。)
3. 問題句
結構: Had + 主詞 + 過去分詞 (p.p.) + ?
過去完成式例句:
-
Had you finished your project before the deadline? (在截止日期前你完成了你的專案嗎?)
-
Had they arrived when you started the meeting? (當你開始會議時他們已經到達了嗎?)
-
Had she ever traveled abroad before moving to Canada? (在搬到加拿大之前,她曾經出國旅行過嗎?)
Wh-問句結構: Wh-詞 + had + 主詞 + 過去分詞 (p.p.) + ?
過去完成式例句:
-
Where had you lived before moving to Taipei? (在搬到台北之前,你住在哪裡?)
-
Why had he left the party early? (他為什麼早早離開派對?)
-
How long had they known each other before they got married? (在他們結婚之前,他們相識多久了?)
-
What had you done before I called you? (在我打電話給你之前,你做了什麼?)

4. 過去分詞
過去分詞(past participle)是構成過去完成式的關鍵元素。它分為規則和不規則兩種:
-
規則動詞:通常是原形加 -ed 例如:work → worked, play → played, talk → talked
-
不規則動詞:形式多變,需要記憶 例如:go → gone, see → seen, eat → eaten, write → written
正確掌握過去分詞形式對於準確使用過去完成式至關重要。建議參考不規則動詞表,特別關注常用動詞的過去分詞形式。
III. 最常見的「過去完成式」核心使用時機
過去完成式英文有四個主要用法,了解這些用法可幫助您在適當的情境中正確使用這個時態。

1. 過去完成式用法一: 強調在「過去另一動作完成之前」就已完成的動作
這是過去完成式最常見的用法—表達在過去某一時間點或事件發生之前已經完成的動作。這種用法強調動作的先後順序。例句:
-
She had already left when I called her. (當我打電話給她時,她已經離開了。)
-
The movie had started before we arrived at the cinema. (我們到達電影院時,電影已經開始了。)
-
I had never seen snow before I visited Hokkaido. (在我參觀北海道之前,我從未見過雪。)
-
By the time he reached the office, the meeting had ended. (當他到達辦公室時,會議已經結束了。)
-
The police had arrested the thief before he could escape the country. (在盜賊能逃離這個國家之前,警察已經逮捕了他。)
判斷要點:注意故事中兩個過去事件的先後順序,先發生的事件使用過去完成式英文。
2. 過去完成式用法二: 強調在「過去特定時間點之前」就已完成的動作
這個用法表示在過去某個確切時間點之前已經完成的動作,常搭配時間標記如 "by", "before", "by the time" 等。例句:
-
By 2010, she had published three novels. (到 2010 年,她已經出版了三本小說。)
-
She had finished her homework before 8 p.m. yesterday. (昨天晚上8點前,她已經完成了她的家庭作業。)
-
By the time I turned 25, I had visited 10 countries. (在我25歲時,我已經參觀了10個國家。)
-
They had prepared everything before the guests arrived. (在客人到達之前,他們已經準備好了一切。)
-
Before the internet became popular, people had relied on newspapers for information. (在網際網路普及之前,人們曾依賴報紙獲取資訊。)
3. 過去完成式用法三: 在「間接引述」(Reported Speech) 中的轉換應用
當直接引述中的現在完成式或過去簡單式轉換為間接引述時,通常會變成過去完成式英文,這遵循「時態後移」的原則。例句:
-
直接引述:She said, "I have finished my homework."
→ 間接引述:She said (that) she had finished her homework. (她說她已經完成了她的家庭作業。)
-
直接引述:He said, "I visited Paris last year."
→ 間接引述:He said (that) he had visited Paris the previous year. (他說他前一年曾去過巴黎。)
-
直接引述:They announced, "The project is completed."
→ 間接引述:They announced (that) the project had been completed. (他們宣布該專案已經完成了。)
4. 過去完成式用法四: 在「第三類條件句」(Third Conditional) 中的假設應用
第三類條件句用於表達與過去事實相反的假設,結構為「If + 過去完成式英文,主句 + would have + 過去分詞」。例句:
-
If I had studied harder, I would have passed the exam. (如果我當時學習更努力,我就會通過考試了。)
-
She would have attended the party if she had known about it. (如果她知道這個派對,她就會參加了。)
-
If we had left earlier, we wouldn't have missed the train. (如果我們早點出發,我們就不會錯過火車了。)
-
He would have understood the lecture better if he had read the materials beforehand. (如果他事先閱讀過這些資料,他就會更好地理解這個講座。)
-
If the weather had been better, we would have gone hiking. (如果天氣好一點,我們就會去徒步旅行了。)
IV. 過去完成式 vs. 過去簡單式 (Past Perfect vs. Simple Past)
區分過去完成式和過去簡單式是英語學習者的常見挑戰。以下對比將幫助您理解兩者的差異:
特點 |
過去完成式 (Past Perfect) |
過去簡單式 (Simple Past) |
時間關係 |
表示過去某時間點之前已發生的動作 |
表示過去某時間發生的動作 |
強調點 |
強調動作的先後順序或完成狀態 |
僅陳述過去發生的事實 |
常見時間標記 |
Before, By the time, Already, After |
Yesterday, Last week, In 2010, Ago |
對比例句:
-
過去完成式:When I arrived home, my family had already eaten dinner. (當我到家時,我的家人已經吃過晚餐了。)
過去簡單式:When I arrived home, my family ate dinner. (當我到家時,我的家人吃了晚餐。) 差異:前者表示晚餐在我到家前就吃完了;後者表示我到家後才吃晚餐。
-
過去完成式:She had lived in Taiwan for ten years before she moved to Japan. (在搬到日本之前,她已經在台灣住了十年。)
過去簡單式:She lived in Taiwan for ten years before she moved to Japan. (在搬到日本之前,她在台灣住了十年。) 差異:意思相似,但過去完成式更強調她搬到日本前已經完成了在台灣居住十年的經歷。
-
過去完成式:I had never seen such a beautiful sunset until that evening. (直到那天晚上,我從未見過如此美麗的日落。)
過去簡單式:I never saw such a beautiful sunset until that evening. (直到那天晚上,我從未見過如此美麗的日落。) 差異:過去完成式更強調在那個特定時間點之前的經歷或狀態。
判斷技巧:
-
如果兩個過去事件有明確的先後順序,先發生的通常用過去完成式
-
如果只是陳述過去的事實,沒有強調先後關係,用過去簡單式
-
問自己:「我是否需要強調這個動作在另一個過去事件之前就已完成?」
V. 過去完成式 vs. 現在完成式 (Past Perfect vs. Present Perfect)
過去完成式和現在完成式雖然形式相似,但它們的時間參照點不同:
特點 |
過去完成式 (Past Perfect) |
現在完成式 (Present Perfect) |
時間參照點 |
過去某時間點 |
現在 |
助動詞 |
had |
have/has |
與現在的關聯 |
無直接關聯 |
有直接關聯 |
基本公式 |
had + p.p. |
have/has + p.p. |
時間概念 |
「過去的過去」 |
「過去到現在」 |
對比例句:
-
過去完成式:When I met her in 2020, she had worked as a teacher for five years. (當我在2020年遇見她時,她已經當了五年老師。)
現在完成式:She has worked as a teacher for five years now. (她現在已經當了五年老師。) 差異:前者描述的是2020年這個過去時間點之前的經歷;後者描述的是截至現在的經歷。
-
過去完成式:I had never visited Taipei before my business trip last year. (在去年的商務旅行之前,我從未參觀過台北。)
現在完成式:I have never visited Taipei. (我從未參觀過台北。) 差異:前者談論過去某時間點之前的經歷;後者談論截至現在的經歷。
-
過去完成式:She had already left when I called her yesterday. (當我昨天打電話給她時,她已經離開了。)
現在完成式:She has already left. (她已經離開了。) 差異:前者強調在過去某個時間點前的完成狀態;後者強調現在的完成狀態。
判斷技巧:
-
如果參照點是過去的某個時間,用過去完成式
-
如果參照點是現在,用現在完成式
-
問自己:「我是站在過去的某個時間點往回看,還是站在現在往回看?」
VI. 解鎖線索:常用訊號詞 (Signal Words)
訊號詞可以幫助我們判斷何時使用過去完成式。以下是常見的訊號詞及其用法:
訊號詞 |
意義 |
用法示例 |
Before |
在...之前 |
She had graduated before she got that job. (她在得到那份工作之前已經畢業了。) |
After |
在...之後 |
After he had finished his work, he went home. (在他完成工作之後,他回家了。) |
Already |
已經 |
I had already seen that movie when you recommended it. (當你推薦那部電影時,我已經看過了。) |
Just |
剛剛 |
He had just left when I arrived. (當我到達時,他剛剛離開。) |
Never |
從未 |
She had never been to Japan until last year. (直到去年,她從未去過日本。) |
By the time |
到...的時候 |
By the time we arrived, the concert had started. (到我們到達的時候,音樂會已經開始了。) |
Until then |
直到那時 |
Until then, I had never traveled abroad. (直到那時,我從未出國旅行過。) |
When |
當...的時候 |
When I got home, my dog had escaped. (當我到家時,我的狗已經逃走了。) |
請注意,這些訊號詞本身並不決定時態的使用,而是提供線索說明動作的先後順序。最終還是需要根據動作的實際先後關係來決定是否使用過去完成式。
VII. 綜合練習:掌握過去完成式
以下提供一系列練習,幫助您鞏固對過去完成式的理解和應用:
1. 選擇題 (Multiple Choice)
選擇最適合填入空格的選項:
-
By the time I arrived at the party, most people ________. A) left B) have left C) had left D) were leaving
-
She ________ English for five years before she moved to London. A) studied B) had studied C) has studied D) studies
-
I ________ to New York before I visited Chicago. A) never been B) have never been C) had never been D) never went
-
After the police ________ the area, they allowed people to return. A) searched B) had searched C) have searched D) search
-
We ________ dinner by the time they called. A) already finished B) have already finished C) had already finished D) already finish
-
He was tired because he ________ all day. A) worked B) had worked C) has worked D) works
-
The movie ________ before we got to the cinema. A) started B) had started C) has started D) starts
-
They told me that they ________ the book. A) read B) had read C) have read D) are reading
-
If she ________ harder, she would have passed the exam. A) studied B) had studied C) has studied D) studies
-
By 2010, she ________ three novels. A) published B) had published C) has published D) publishes
2. 填空題 (Fill in the Blanks)
在空格中填入過去完成式的適當形式:
-
Before I moved to Taipei, I ________ (live) in Taichung for five years.
-
She ________ (never / see) snow until she visited Hokkaido.
-
By the time he reached the office, the meeting ________ (end).
-
They ________ (already / eat) when I arrived at the restaurant.
-
I ________ (finish) my homework before my parents came home.
-
After he ________ (complete) his studies, he started looking for a job.
-
She was sad because she ________ (lose) her favorite necklace.
-
We ________ (not / meet) her husband until the wedding day.
-
The train ________ (leave) before we reached the station.
-
He told me that he ________ (visit) Taiwan twice.
3. 句子改寫 (Sentence Transformation)
根據括號中的指示,改寫以下句子:
-
I visited the museum. Later, I met my friend. (使用過去完成式合併)
-
She arrived. The train departed. (使用 "when" 和過去完成式)
-
First, I completed my work. Then, I went home. (使用 "after" 和過去完成式)
-
They didn't see the movie before I recommended it. (改為肯定句)
-
I read the book. Then, I watched the movie. (使用 "before" 和過去完成式)
-
She studied hard. She passed the exam. (使用第三類條件句)
-
He said, "I have never been to Taipei." (改為間接引述)
-
First, it rained heavily. Then, the streets flooded. (使用過去完成式)
-
I finished my dinner. Then, I watched TV. (使用 "by the time" 和過去完成式)
-
She learned Chinese. Later, she moved to Taiwan. (使用過去完成式合併)
4. 答案
選擇題答案:
-
C) had left
-
B) had studied
-
C) had never been
-
B) had searched
-
C) had already finished
-
B) had worked
-
B) had started
-
B) had read
-
B) had studied
-
B) had published
填空題答案:
-
had lived
-
had never seen
-
had ended
-
had already eaten
-
had finished
-
had completed
-
had lost
-
had not met
-
had left
-
had visited
句子改寫答案:
-
I had visited the museum before I met my friend.
-
When she arrived, the train had already departed.
-
After I had completed my work, I went home.
-
They had seen the movie before I recommended it.
-
I had read the book before I watched the movie.
-
If she had not studied hard, she would not have passed the exam.
-
He said that he had never been to Taipei.
-
The streets flooded after it had rained heavily.
-
By the time I watched TV, I had finished my dinner.
-
She had learned Chinese before she moved to Taiwan.
VIII. 關於「過去完成式」的進階問答
1. 只要看到 before 或 after,就一定需要用過去完成式嗎?
不,僅僅看到 "before" 或 "after" 並不意味著一定要使用過去完成式。使用與否取決於動作的實際先後順序和您想強調的內容。例如:
-
使用過去完成式:I had finished my homework before I went to bed. (我上床睡覺前已經完成了家庭作業。) 這強調作業在睡覺前就已經完成了。
-
使用過去簡單式:I finished my homework before I went to bed. (我上床睡覺前完成了家庭作業。) 這只是陳述兩個動作的順序,但沒有特別強調完成狀態。
關鍵在於您想表達的是「在過去某個時間點之前就已完成的動作」(過去完成式),還是僅僅表達「過去發生的兩個連續動作」(過去簡單式)。
2. 學習者最常犯的過去完成式錯誤有哪些具體類型?
學習過去完成式時,學習者常犯的錯誤主要有以下幾種:
-
錯誤一:不恰當地使用過去完成式: 有些學習者錯誤地認為,只要有兩個過去的動作,就應該用過去完成式。實際上,只有當需要強調動作的先後順序或完成狀態時,才應使用過去完成式。
-
❌錯誤範例:I had gone to the store and I had bought some milk.
-
✅修正:I went to the store and bought some milk. (兩個連續動作,沒有必要強調順序,用過去簡單式即可)
-
-
錯誤二:忘記使用過去分詞: 將過去完成式的動詞形式誤用為過去式而非過去分詞。
-
❌錯誤範例:She had went to the party before I called.
-
✅修正:She had gone to the party before I called. (go的過去分詞是gone,不是went)
-
-
錯誤三:混淆過去完成式與現在完成式: 在需要使用過去完成式的情境中錯用現在完成式。
-
❌錯誤範例:When I arrived, she has already left.
-
✅修正:When I arrived, she had already left. (參照點是過去的arrived,因此應用過去完成式)
-
3. 除了常見用法,過去完成式在文學或正式寫作中有哪些特殊的應用方式?
在文學和正式寫作中,過去完成式有一些特殊的應用:
-
倒敘或插敘技巧 在敘事文學中,過去完成式常用於倒敘(flashback),即在主要敘事時間線之外,回溯描述之前發生的事件。例如: The old man gazed at the sea. He had spent fifty years as a fisherman, and the ocean had become like a second home to him. When he had first arrived at this village as a boy, he had known nothing about sailing. (老人凝視著大海。他已經當了五十年的漁夫,海洋已成為他的第二個家。當他小時候第一次來到這個村莊時,他對航海一無所知。)
-
新聞報導中的背景信息 在新聞報導中,過去完成式常用於提供事件的背景信息或解釋前因後果。例如: The president announced the new policy yesterday. The administration had spent six months developing the proposal, and experts had warned about the potential economic impact. (總統昨天宣布了新政策。政府已經花了六個月時間制定這項提案,專家們此前已經警告過潛在的經濟影響。)
-
文件和正式報告中的時間關係 在正式文件和報告中,過去完成式用於精確表達事件的時間順序,特別是在描述複雜過程或調查結果時。例如: The investigation revealed that the system failure occurred at 3:15 PM. Technicians had performed routine maintenance at 2:30 PM, but they had not detected any anomalies at that time. (調查顯示,系統故障發生在下午3:15。技術人員在下午2:30進行了例行維護,但他們當時並未發現任何異常。)
從「學會」到「活用」過去完成式的實踐之路
掌握過去完成式不僅是理解其概念和結構,更需要在實際語言使用中靈活應用。以下是幫助您從「學會」到「活用」過去完成式的建議:
首先,請牢記過去完成式的核心概念——「過去的過去」。這個時態的最大價值在於幫助我們清晰表達過去事件的時間順序,使敘述更加條理分明。實踐建議:
-
大量閱讀:閱讀英語原文小說、新聞或雜誌文章,特別留意其中過去完成式的使用場景。嘗試理解作者為何在特定情境中選擇過去完成式而非其他時態。
-
刻意練習:每天嘗試寫3-5個包含過去完成式的句子,描述您的經歷或虛構情境。將這些句子與過去簡單式或現在完成式的句子進行對比,體會其不同效果。
-
口語應用:在口語練習中有意識地使用過去完成式,特別是在敘述過去經歷時,嘗試清晰表達事件的先後順序。
-
自我測試:在閱讀材料中遮蓋動詞,嘗試判斷應使用哪種時態,然後檢查答案並分析原因。
學習語言是一個循序漸進的過程。過去完成式的掌握需要時間和持續的練習。請記住,即使母語人士也不會在所有可能的情境中都使用過去完成式——有時過去簡單式也足以表達意思。關鍵在於理解何時使用過去完成式可以使表達更加精確和清晰。
通過本文的學習和持續的練習,相信您已經能夠理解並正確使用過去完成式了。隨著語言能力的提升,您將能夠更自然、更精確地運用這個時態,使您的英語表達更加豐富和地道。
在家利用 Prep 的獨家 AI 進行雅思自學!現在報名線上雅思課程,立即獲得高效率學習規劃、詳細批改與智慧練習。特別是 Teacher Bee AI,將成為您學習過程中的智慧夥伴。
點擊此處把握機會,立即行動!
現在就下載 PREP App,在家自主學習雅思,體驗高品質的線上備考,迅速提升成績。

你好!我叫秋贤,目前在網站 prepedu.com 的部落格擔任產品內容經理。
憑藉超過5年自學英語、漢語等外語以及準備一些雅思和托業考試的經驗,我積累了豐富的經驗,為數千名在學習外語方面遇到困難的人提供支持。希望以上分享能對大家在家有效自學的過程有幫助!
Comment
Related posts
Search blog
Most read
Register for a learning roadmap consultation
Please leave your information, and Prep will contact you for consultation right away!
