在英语的众多时态中,过去完成时 (Past Perfect Tense) 常常被认为是一个复杂且易混淆的时态。然而,一旦我们掌握了它的核心功能和运用场景,就会发现它是描述过去事件序列、展现逻辑关系不可或缺的工具。它赋予了我们以清晰、准确的方式重现过去的能力,让我们的叙述更加生动、有条不紊。本文将围绕过去完成时的方方面面,进行深入且具体的剖析。
过去完成时是什么?
过去完成时,顾名思义,是用来表示在过去某一特定时间点或某一过去动作之前已经完成的动作。它不是孤立地存在,而是通常需要一个过去的时间参照点来确立其“过去之前的过去”的地位。
核心结构:Had + 过去分词
过去完成时的构成非常直接和统一,无论主语是单数还是复数,其助动词形式都不变:
- 肯定句: 主语 + had + 动词的过去分词 (V-ed/V-en)
- 否定句: 主语 + had not (hadn’t) + 动词的过去分词 (V-ed/V-en)
- 疑问句: Had + 主语 + 动词的过去分词 (V-ed/V-en)?
具体例子:
- 肯定句:She had finished her homework by 9 PM last night. (昨晚九点前她已经完成了作业。)
- 否定句:They hadn’t seen such a beautiful sunset before they visited Hawaii. (在去夏威夷之前,他们从未见过如此美丽的日落。)
- 疑问句:Had you eaten breakfast before you left for work? (你上班前吃过早饭了吗?)
时间定位:过去的过去
过去完成时所描述的动作,必须发生在另一个过去动作或过去时间点之前。这个“另一个过去动作/时间点”是理解和使用过去完成时的关键。
想象一条时间轴:现在 <– 过去事件B <– 过去完成时事件A。
事件A在事件B发生之前已经完成。事件B通常用一般过去时表示,充当了参照点。
例如:
- When I arrived at the station, the train had already left. (当我到达车站时,火车已经开走了。)
- “我到达车站”是一个过去的动作。
- “火车开走”发生在“我到达”之前。
- She said that she had never been to Paris before. (她说她以前从未去过巴黎。)
- “她说”是一个过去的动作。
- “从未去过巴黎”发生在“她说”之前。
为什么需要过去完成时?
过去完成时并非多余,它承担着一般过去时无法完成的特定叙事任务,主要服务于精准表达事件的先后顺序和因果关系。
精准叙事,避免混淆
在叙述一系列发生在过去的事件时,如果没有过去完成时,仅凭一般过去时,有时会造成事件先后顺序的模糊,甚至改变句子的原有含义。过去完成时能明确指出哪个动作发生得更早。
比较以下两组句子:
- 使用一般过去时: When the police arrived, the thief escaped. (警察到达时,小偷逃跑了。—— 可能同时发生,或警察到达后小偷才跑。)
- 使用过去完成时: When the police arrived, the thief had escaped. (当警察到达时,小偷已经逃走了。—— 明确表示小偷逃走在警察到达之前。)
这种差异在理解事件发展的逻辑上至关重要。
表达“过去对过去”的影响或结果
过去完成时也常用来表达在过去某个时间点,由于之前发生的某个动作,导致了当时的情况或结果。它强调了“因”在“果”之前已经完成。
例子:
- He couldn’t buy a new car because he had lost his job. (他买不起新车,因为他之前失业了。)
- 失业 (had lost his job) 发生在买不起车 (couldn’t buy) 之前,并且是买不起车的原因。
- She finally understood why her friend had been so upset. (她终于明白为什么她的朋友之前会那么沮丧了。)
- 朋友沮丧 (had been so upset) 发生在“她明白”之前,并且是“她明白”的原因。
过去完成时在哪里使用?
过去完成时常出现在复合句中,尤其是涉及时间、条件、原因、目的等状语从句,以及间接引语和虚拟语气中。
常见句型与从句结构
-
时间状语从句中
这是过去完成时最常见的应用场景之一,常与 when, after, before, by the time, as soon as, until/till 等连词引导的从句搭配使用。
- After she had finished her work, she went home. (在她完成工作后,她回家了。)
- We didn’t start the meeting until everyone had arrived. (直到所有人都到了,我们才开始会议。)
- By the time I got to the cinema, the movie had already started. (等我到达电影院时,电影已经开演了。)
-
第三类条件句(虚拟语气)中
用于表示对过去发生事件的假设,通常表达与过去事实相反的愿望或结果。主句用 would/could/might have + 过去分词,条件从句用过去完成时。
- If he had studied harder, he would have passed the exam. (如果他当初学习再努力些,他就会通过考试了。—— 事实是没努力,也没通过。)
- If I had known you were coming, I would have prepared dinner. (如果我早知道你要来,我就会准备晚餐了。—— 事实是不知道,也没准备。)
-
间接引语(Reported Speech)中
当直接引语中的一般过去时或现在完成时转化为间接引语时,如果主句是过去时,从句通常需要变成过去完成时。
- 直接引语:He said, “I finished my report.”
- 间接引语:He said that he had finished his report. (他说他已经完成了报告。)
- 直接引语:She told me, “I have seen that film before.”
- 间接引语:She told me that she had seen that film before. (她告诉我她以前看过那部电影。)
-
与 no sooner… than…, hardly/scarcely… when… 搭配构成倒装句
这些结构常用来强调一个动作紧接着另一个动作发生。
- No sooner had I arrived home than the phone rang. (我刚到家,电话就响了。)
- Hardly had she closed her eyes when she fell asleep. (她刚闭上眼睛就睡着了。)
叙事文本中的作用
在故事、传记、历史记载等叙事性文本中,过去完成时是构建背景、解释前因后果的重要手段。它允许作者在回顾一个主要过去的事件时,插入更早发生的事件,从而使叙事更具深度和连贯性。
例如,在一篇回忆录中,你可以先描述一个童年发生的关键事件(用一般过去时),然后用过去完成时来解释导致这个事件的更早的家庭背景或个人经历。
在口语中,为了表达简洁和流畅,有时人们会用一般过去时来替代过去完成时,尤其是当时间顺序非常明确时(如使用 after, before 等词)。然而,在书面语和正式语境中,或当时间顺序可能引起歧义时,精确使用过去完成时仍然是十分必要的。
如何正确使用过去完成时?
正确运用过去完成时需要理解其结构,并掌握其与其它过去时态的区分方法,以及特殊情境下的搭配。
构成方法详解
如前所述,核心是 had + 动词的过去分词。
-
肯定句:
主语 + had + 过去分词
- I had read the book.
- You had eaten dinner.
- She had gone to bed.
-
否定句:
主语 + had not / hadn’t + 过去分词
- I hadn’t read the book.
- You hadn’t eaten dinner.
- She hadn’t gone to bed.
-
疑问句:
Had + 主语 + 过去分词?
- Had you read the book?
- Had they eaten dinner?
- Had she gone to bed?
辨析与一般过去时
这是最容易混淆的地方。关键在于区分事件发生的时间顺序。
- 一般过去时: 描述在过去某一特定时间发生的、已完成的动作或状态。这些动作可能按顺序发生,但并不强调一个动作发生在另一个动作“之前”。
- 过去完成时: 描述在过去另一个动作或时间点“之前”发生的动作。它明确了“更早的过去”。
详细对比:
情境: 你去朋友家,发现他已经离开了。
- 用一般过去时: When I arrived at his house, he left. (当我到他家时,他离开了。—— 可能我到了,他才走,或者我们同时走,时间顺序不明确。)
- 用过去完成时: When I arrived at his house, he had left. (当我到他家时,他已经离开了。—— 明确表示他离开的动作发生在我到达之前。)
情境: 考试没通过。
- 用一般过去时: He didn’t pass the exam because he didn’t study enough. (他没通过考试,因为他学习不够。—— 两个“没做”动作都发生在过去,是并列原因和结果。)
- 用过去完成时: He didn’t pass the exam because he hadn’t studied enough. (他没通过考试,因为他之前学习不够。—— 强调“学习不够”这个状况,是发生在考试之前,并且是导致“没通过考试”的原因。)
与时间状语的搭配
过去完成时常常与特定的时间状语或连词一起使用,以明确时间顺序。
- before, after: These are very clear indicators.
- I went to bed after I had finished my novel.
- She had never seen a tornado before she moved to Oklahoma.
- by (a specific time/event): 表示在某个时间点或某个事件发生之前。
- The snow had stopped by midnight.
- By the time he got to the airport, his flight had already departed.
- when: “when” 从句中既可以用一般过去时,也可以用过去完成时,取决于强调什么。
- When I opened the door, I found that someone had broken in. (开门在前,发现破门而入在后)
- When I had finished my shower, the phone rang. (洗完澡在前,电话响在后)
- already, just, never, ever: 这些副词常用于强调动作的完成状态。
- They had already eaten when we arrived.
- I realized I had just left my wallet at home.
过去完成时的被动语态
当过去完成时态的动作由句子的宾语承受时,需要使用被动语态。其结构是:
主语 + had been + 动词的过去分词 (V-ed/V-en)
例子:
- 主动语态:The workers had built the bridge by 2005. (工人们在2005年之前建成了这座桥。)
- 被动语态:The bridge had been built by the workers by 2005. (这座桥在2005年之前已经被工人们建成了。)
- 主动语态:Someone had stolen my wallet before I noticed it. (在我注意到之前,有人偷走了我的钱包。)
- 被动语态:My wallet had been stolen before I noticed it. (在我注意到之前,我的钱包已经被偷了。)
在虚拟语气(第三类条件句)中的应用
第三类条件句用来描述过去不可能发生的事情,表达对过去事件的假设和遗憾。条件从句中必须使用过去完成时。
结构:If + 主语 + had + 过去分词, 主语 + would/could/might have + 过去分词
例子:
- If I had known about the meeting, I would have attended it. (如果我当初知道这个会议,我就会参加了。)
- She would have come to the party if she hadn’t been feeling sick. (如果她当时没有生病,她就会来派对了。)
在间接引语中的转化
当直接引语中的动词是一般过去时或现在完成时,并且引述动词(如 said, told, asked)是过去时时,这些时态在转换为间接引语时通常会变成过去完成时。
例子:
- 直接引语:He said, “I finished my project yesterday.”
- 间接引语:He said that he had finished his project the day before.
- 直接引语:Mary told me, “I have lived in London for five years.”
- 间接引语:Mary told me that she had lived in London for five years.
倒装句结构
为了强调或修辞效果,过去完成时可以与 No sooner… than…, Hardly/Scarcely… when… 等结构构成倒装句。
结构:No sooner + had + 主语 + 过去分词 + than + 一般过去时从句
结构:Hardly/Scarcely + had + 主语 + 过去分词 + when + 一般过去时从句
例子:
- No sooner had I reached the airport than the plane took off. (我刚到机场,飞机就起飞了。)
- Hardly had the movie started when the power went out. (电影刚开始,就停电了。)
常见疑问与具体情境分析
何时可省略或用一般过去时替代?
在某些情况下,如果事件的先后顺序非常明确,即使没有使用过去完成时,也不会引起误解。例如,在使用了 “after” 或 “before” 等连词的从句中,有时一般过去时也可以接受。
例子:
- After I finished my work, I went home. (我完成工作后就回家了。) – 这里的 “finished” 是一般过去时,但 “after” 已经明确了时间顺序。
- After I had finished my work, I went home. (我完成工作后就回家了。) – 这里的过去完成时是更标准的用法,但意思相同。
然而,当时间顺序可能模糊或需要强调某个动作先于另一个动作时,使用过去完成时是不可或缺的,以避免歧义。
例如:
- When I saw him, he wore a new coat. (我看到他时,他穿着一件新外套。—— 描述当时的状态。)
- When I saw him, he had worn a new coat. (我看到他时,他之前穿过一件新外套。—— 这里表达的是在“看到他”之前,“穿过”这个动作已经发生并完成。这种表达相对少见,通常会用一般过去时。)
- 更恰当的例子:He lost the key that I had given him. (他丢了我给他的那把钥匙。—— “给钥匙”这个动作明确发生在“丢钥匙”之前,这里不能用一般过去时代替。)
过去完成时与过去将来完成时有何不同?
- 过去完成时 (Past Perfect): 描述在过去某一时刻或动作之前已经完成的动作。
- He had finished his report by noon yesterday. (到昨天中午,他已经完成了他的报告。)
- 过去将来完成时 (Past Future Perfect): 描述从过去的视角看,在未来某一时刻或动作之前将会完成的动作。它通常出现在含有将来完成时的间接引语中,或者从过去的视角展望未来的完成动作。
- She said she would have finished her report by tomorrow. (她说她到明天就会完成她的报告了。—— 从她说的那个过去的时刻来看,报告会在未来的“明天”之前完成。)
这两个时态的关键区别在于它们参照的时间点以及所描述动作的完成方向。过去完成时指向的是更早的过去,而过去将来完成时则是从过去某个点看向未来的完成。
通过深入理解过去完成时的结构、功能和多种应用场景,我们可以更准确、更细致地表达过去事件的来龙去脉。它不仅是一个语法点,更是一种强大的叙事工具,帮助我们描绘出过去事件的清晰画面,避免时间上的混淆,使得我们的语言表达更加专业和精确。