中学英文法
I have lived in Okinawa for three years.
私は沖縄に3年間住んでいます。
ここでは、「(過去のある時点から)今までずっと継続して...している」ということを表す表現を学びます。
次のふたつの文を比べてみてください。
I lived in Okinawa last year. 私は昨年沖縄に住んでいました。(単なる過去の話)
I have lived in Okinawa for three years. 私は(今までずっと)沖縄に3年間住んでいます。(今まで継続している話)
liveは「住む」という意味の動詞ですね。
「live in Okinawa」 で 「沖縄に住む」という意味になるのですよね。
ひとつ目の文は「live」が「lived」になっています。
これは「過去形」と呼ばれている物で、「単なる過去の話」をするときに使う形ですね。
つまり、ひとつ目の文は「沖縄に住んだ(単なる過去の話)」ということを伝えています。
(ですから、今沖縄に住んでいるのかどうかについては何も言っていません。)
ふたつ目の文は「live」が「have lived」になっています。
実は、この「lived」は「過去形」ではなく「過去分詞」です。(私たちはすでに、「受動態」を学んだ時に、動詞には「過去形」の他に、「過去分詞」というものもあるということを学んでいますね。)
そして、実は「have lived」で「(今まで)ずっと住んでいた」という意味になるのです。
ですから、ふたつ目の文は「今までずっと沖縄に住んでいる(今まで継続している話)」ということを伝えています。
ちなみに、「for」は「...の間」という意味の言葉です。
ですから、「for three years」で「3年の間(つまり3年間)」という意味になります。
ここまでの説明でわかった人もいるかもしれませんが、実は、「have + 過去分詞」という形を作ると、「今までずっと...している」という意味になり、今まで継続しているということを伝える表現ができます。
このような表現を「現在完了形の継続用法」といいます。
それではさらに、いくつか「現在完了形の継続用法」の例文を学ぶことにしましょう。
Judy has lived in Tokyo since 2010.
この文を詳しく見てみると次のようになっています。
Judy / has lived /in Tokyo /since 2010.
Judyは/(今までずっと)住んでいる/東京に /2010年以来
→Judyは2010年以来(今までずっと)東京に住んでいます。
この文には、「has lived」という形が現れています。そして、この「lived」は「live(住む)」の(過去形ではなく)過去分詞です。
「has lived」で「(今までずっと)住んでいる」という意味になります。
ところで、「have lived」ではなく「has lived」になっているのは、この文は、「Judy...」の文(つまり、Judyが主語の文)だからです。
「Judy...」は「she...(彼女は...)」の扱いをされるので、have ではなく has が使われるのです。
ちなみに、「since...」は「...以来」という意味です。
ですから、「since 2010」で「2010年以来」という意味になります。
We have studied English for three years.
この文を詳しく見てみると次のようになっています。
We / have studied /English/for three years.
私たちは/(今までずっと)勉強しています/英語を /3年の間
→私たちは(今までずっと)3年間英語を勉強しています。
この文には、「have studied」という形が現れています。そして、「studied」は「study(...を勉強する)」の過去分詞です。
「have studied」で「(今までずっと)勉強している」という意味になります。
ちなみに、「for...」は「...の間」という意味です。
ですから、「for three years」で「3年の間(つまり3年間)」という意味です。
Tom has been sick since yesterday.
この文を詳しく見てみると次のようになっています。
Tom / has been / sick /since yesterday.
Tomは/(今まですっと)...です/具合が悪い/昨日以来
→Tomは昨日以来(今までずっと)具合が悪いです。
この文には、「has been」という形が現れています。そして、「been」は「be(です、いる、ある)」の過去分詞です。
「has been」で「(今までずっと)...です」という意味になります。
ところで、「have been」ではなく「has been」になっているのは、この文は、「Tom...」の文(つまり、Tomが主語の文)だからです。
「Tom...」は「he...(彼は...)」の扱いをされるので、have ではなく has が使われるのです。
ちなみに、「since...」は「...以来」という意味です。
ですから、「since yesterday」で「昨日以来」という意味になります。
I have known her for many years.
この文を詳しく見てみると次のようになっています。
I / have known /her /for many years.
私は/(今まですっと)知っています/彼女を/何年もの間
→私は何年もの間(今までずっと)彼女を知っています。
この文には、「have known」という形が現れています。そして、「known」は「know(...を知っている)」の過去分詞です。
「have known」で「(今までずっと)知っている」という意味になります。
ちなみに、「for...」は「...の間」という意味です。
ですから、「for many years」で「何年もの間」という意味です。
Kenji has played basketball for three years.
この文を詳しく見てみると次のようになっています。
Kenji / has played / basketball /for three years.
ケンジは/(今まですっと)しています/バスケットボールを/3年の間
→ケンジは3年間(今までずっと)バスケットボールをしています。
この文には、「has played」という形が現れています。そして、「played」は「play((スポーツなど)をする)」の過去分詞です。
「has played」で「(今までずっと)している」という意味になります。
ちなみに、「for...」は「...の間」という意味です。
ですから、「for three years」で「3年の間」という意味です。
一応念のための補足です。
「今までずっと3年間バスケットボールをしている」と言うのは「3年間バスケットボールをやめずに続けている」ということです。「3年間一秒も途切れることなく、バスケットボールをしている」ということではありません。ちゃんと寝たり、食事をしたり日常生活を送っています。
forとsinceの使い方
「(今までずっと)...している」という表現では「...の間」とか「...以来」ということを同時にいう場合が多くあります。そんな時に使われるのが、「for」や「since」という言葉です。
「for...」で「...の間」という意味です。
例
for ten years 10年の間→10年間
for five months 5ヶ月の間→5ヶ月間
for three days 3日の間→3日間
for a long time 長い時間の間→長い間
for about eight years およそ8年の間→およそ8年間
「since...」で「...以来」という意味です。
例
since 1998 1998年以来
since last summer 昨夏以来→この前の夏以来
since I was seven 「私は7歳でした」以来→私が7歳のとき以来
since then そのとき以来
補足:現在完了でも、短縮形が良く使われます。
I have visited ... は I've visited ...のように短縮されます。
She has visited ... は She's visited ...のように短縮されます。
それでは練習問題を解くことにしましょう。
練習問題に進む →