進階 · Unit 75
假設語氣過去完成式
假設語氣過去完成式是「If + 主詞 + had + 過去分詞,主詞 + would/could/might + have + 過去分詞」的形式,用來想像並說出與已經過去的事實相反的狀況。
概念說明
假設語氣過去完成式是「If + 主詞 + had + 過去分詞,主詞 + would/could/might + have + 過去分詞」的形式,用來想像並說出與已經過去的事實相反的狀況。
A. 形式 — If + had + p.p., would/could/might + have + p.p.
假設語氣過去完成式在 if 子句用 had + 過去分詞(過去完成式),在主要子句用 would/could/might + have + 過去分詞,兩邊成對使用。請把 If + had + 過去分詞,would have + 過去分詞 這個公式整組記起來。
| 結構 | 語感 | 例子 |
|---|---|---|
| If + had p.p., would have p.p. | 本來會那樣 | If I had known, I would have called. |
| If + had p.p., could have p.p. | 本來就做得到 | If she had tried, she could have won. |
| If + had p.p., might have p.p. | 說不定就那樣了 | If we had left earlier, we might have caught it. |
- If I had woken up earlier, I wouldn't have been late. (要是我早點起床,就不會遲到了。)
- If they had invited us, we would have come. (要是他們邀請了我們,我們就會去了。)
- If she had studied medicine, she could have become a doctor. (要是她當初唸了醫學,就能成為醫生了。)
- If I had taken the bus, I might have arrived on time. (要是我搭了公車,說不定就準時到了。)
B. 意思 — 與過去事實相反
假設語氣過去完成式是把已經發生的過去的事翻過來想像的說法,所以句子背後總是藏著「(實際上並沒有那樣)」的言外之意。常用在傳達後悔、惋惜、慶幸、責備這類情緒的時候。
| 語感 | 例子 | 隱含的意思 |
|---|---|---|
| 後悔 | If I had studied more, I would have passed. | 沒唸書,沒考過 |
| 惋惜 | If we had left earlier, we would have caught the flight. | 太晚出發,錯過了 |
| 慶幸 | If I hadn't worn a helmet, I would have been hurt. | 有戴,所以沒受傷 |
| 責備 | If you had told me, I would have helped. | 沒說,所以沒幫上忙 |
- If I hadn't slept in, I would have caught the bus. (要是我沒睡過頭,就趕上公車了。)
- If he had apologized, she would have forgiven him. (要是他道了歉,她就會原諒他了。)
- If I had brought an umbrella, I wouldn't have gotten wet. (要是我帶了傘,就不會淋濕了。)
- If she had told me the truth, I wouldn't have been upset. (要是她跟我說了實話,我就不會生氣了。)
C. 時態視覺化 — 實際 vs 想像的對比
假設語氣過去完成式是在時間軸上看著「過去的某個時間點」,把當時的選擇翻過來的說法,所以只要把實際發生的事和想像的事之間的對比記得清楚,語感就活起來了。
| 實際 (事實) | 想像 (相反) |
|---|---|
| I didn't study. → I failed. | If I had studied, I would have passed. |
| She left late. → She missed the train. | If she had left early, she wouldn't have missed it. |
| We didn't know. → We didn't help. | If we had known, we would have helped. |
| He didn't apologize. → She stayed angry. | If he had apologized, she would have forgiven him. |
- If I had taken the job, I would have moved to New York. (要是我接下那份工作,就搬到紐約了。)
- If she hadn't forgotten her passport, she would have boarded the plane. (要是她沒忘了護照,就搭上飛機了。)
- If we had checked the weather, we wouldn't have gone hiking. (要是我們查了天氣,就不會去爬山了。)
- If he had saved, he could have bought a car. (要是他有存錢,就買得起車了。)
重點整理
- 1假設語氣過去完成式是把已經過去的事實翻過來想像的說法,所以背後一定藏著「實際上並沒有那樣做」的言外之意,這是核心。(例: If I had studied, ... → 實際上沒唸書)
- 2if 子句用 had + 過去分詞,主要子句用 would/could/might + have + 過去分詞,這種成對的雙重結構是形式上的核心。(例: If I had known, I would have called.)
- 3假設語氣過去完成式的 if 子句裡絕對不用 would have 或 will have,只用 had p.p.,這是最常出錯的地方。(例: If I had known, ...)
- 4主要子句的 would/could/might 只是語感不同,後面一定接 have + 過去分詞,請守住這個形式。(例: I would have gone / could have gone)
- 5會話中一般會把 would have / could have 自然地縮寫成 would've / could've 來發音。(例: I would've gone. / He could've helped.)
例句
If I had studied harder, I would have passed the exam.
要是我更用功唸書,就會通過考試了。
If she had left earlier, she would have caught the train.
要是她早點出發,就趕上火車了。
If we had known, we would have helped you.
要是我們知道的話,就會幫你了。
If he had listened to me, he wouldn't have made that mistake.
要是他聽了我的話,就不會犯那個錯了。
If I had saved money, I could have bought the house.
要是我有存錢,就買得起那棟房子了。
這個單元還有更多例句。註冊後可以看完整內容並聆聽發音。
容易犯的錯誤
If I had known, I would have told you.
If she had left earlier, she wouldn't have missed the train.
If I had studied, I would have passed the exam.
If he had listened to me, he wouldn't have failed.
If we had known, we would have come.