ラベル 辞書 の投稿を表示しています。 すべての投稿を表示
ラベル 辞書 の投稿を表示しています。 すべての投稿を表示

2011年4月29日金曜日

語源を調べやすい英英辞典 - Your Dictionary

1. 英和辞典のアルクは例文が豊富

英単語を調べるときは、スペースアルク を利用している。例文が豊富なので、単語の使われ方が把握しやすく、意味をイメージしやすい。

ブラウザのロケーションバーから、スマートキーワードを利用して検索するには、以下の URL をブックマークしておく。

http://eow.alc.co.jp/%s/UTF-8/

 

2. 語源を調べる

調べたい英単語が馴染のない言葉である場合、英和辞典では、自分の知識の中に取り入れにくい。理由は、英和辞典では、単語の意味を、日本語に置き換えるだけだから。

例えば、“demarcate” という単語を調べた場合、

【他動】

    ~の境界を定める、~と一線を画する

この単語が頭に入っていなければ、何度も出会わない限り、記憶できる気がしない。

これに対し、「単語の成り立ち・語源学習法 ちょんまげ英語塾」には、効果的な英単語の学習の方法が述べられている。

… 「多くの」英単語も漢字も法則性のある組み合わせで成り立っているということでござる。ちなみに英単語の場合は接頭辞+語根+接尾辞という組み合わせで成り立っているのでござる。

接頭辞は単語全体に意味を付与する働きをし(と同時に品詞を作る場合もある)、語根はその単語の中心となる部分であり、接尾辞はその単語の品詞を決定する …

接頭辞や接尾辞や語根を頭の片隅に入れておけば、単語学習の手助けになるはずでござるから一覧を作ってみたでござる。単語を辞書で調べた時などに派生語や関連語を意識すると良いでござるよ。

接頭辞一覧 接尾辞一覧 語根一覧

つまり、接頭・接尾辞に注目すると、既存の知識と関連付けて覚えやすい。

 

3. 語源を調べやすい辞書

オンラインで引ける英語の辞書(英英・語源・類義語・スラング辞典) - 英語のゆずりん」において、

語源や類義語も表示。用例がほかに比べて非常に豊富なのが特徴です。

と紹介されていたのは、

試しに、先ほどの単語を調べてみると、単語ごとに Origin: という欄が設けられれているのがわかる。

demarcate

Origin: back-form. < demarcation

リンクを辿っていくと、demarcation

Origin: Sp demarcación (in línea de demarcación, 1493) < de- (L de), from + marcar, to mark boundaries < Gmc *marka, a boundary, mark

Origin: Spanish demarcación, from demarcar, to mark boundaries : de-, off (from Latin dē-; see de- ) + marcar, to mark (from Italian marcare, from Old Italian, of Germanic origin; see merg- in Indo-European roots).

スムーズに `mark, de-‘ の意味にアクセスできた。

こうやって単語に見慣れていけば、最低限の知識で意味を推測できるようになるかな。

 

4. 語源を持つ、英英辞典を検索

追記(2012.2.23): YOUR DICTIONARY で語源が表示されなくなった。

そこで、調べたい単語に origin を付けて検索。

その結果、いくつか語源を表示する辞書があった。

また、語源を複数の辞書から、検索してくれるサイトもある。

2008年9月13日土曜日

Python の可変引数

1. 引数の前につけるアスタリスク

Python で可変引数を利用するには、引数の前にアスタリスクを書く。

最初に可変引数を見たのは、ITmedia エンタープライズ:2.4への機能強化で広がるPythonの世界 (3/4) の「リスト3 関数の引数の型をチェックするデコレータの例」。

def wrapper(*args, **kwargs):

関数の引数に前に、アスタリスクが1つの引数と2つの引数が書かれている。

 

リストと辞書

アスタリスク1つは、4.7.3. 任意引数リスト によると、

… 関数が任意の個数の引数で呼び出せるよう指定する方法があります。これらの引数はタプル (タプルとシーケンス を参照) に格納されます。可変個の引数の前に、ゼロ個かそれ以上の引数があっても構いません。…

アスタリスク2つは、4.7.4. 引数リストのアンパック によると、

同じやりかたで、 ** オペレータを使って辞書でもキーワード引数を渡すことができます。

4. その他の制御フローツール4.7.2 キーワード引数 によると、

仮引数の最後に **name の形式のものがあると、仮引数に対応しないすべてのキーワード引数が入った 辞書 を受け取ります。 **name*name の形式をとる、仮引数のリストを超えた固定引数の入ったタプルを受け取る引数 (次の節で述べます) と組み合わせることができます。 (*name**name より前になければなりません)。

 

2. 例

* がリスト、 ** が辞書へ対応している。
def test(*args):
    for e in args:
        print e

test(1,2,3,"hoge","piyo")


def test2(**keywords):
    for k,v in keywords.iteritems():
        print k, v

test2(a=100, b=200)


def test3(*args, **keywords):
    for e in args:
        print e
    for k,v in keywords.iteritems():
        print k,v

test3(1,2,3,"hoge","piyo",a=100,b=200):

 

引数の対応
「仮引数に対応しない」あふれた引数が辞書に入る。
def test4(arg1="", arg2="", **keywords):
    print "arg1, arg2: " + arg1, arg2
    print keywords
    
test4(arg1="hoge", a=100, b=200)
結果は、
arg1, arg2: hoge 
{'a': 100, 'b': 200}

キーワード引数に対応していない引数の部分が **keywords に流れこんだのがわかる。

追記(2008.9.28) : Python でリスト内のリストを連結 に使い方の例がある。