宣言と定義

いろんなプログラミング言語で、「宣言」と「定義」という用語が出てきます。

C言語などの用語だと、宣言(declaration) というのは、関数や変数の型などの情報を指定することを指します。

Pythonでは、global とか nolocal とかが宣言にあたります。

def func():
    global VAR # 変数VAR はグローバルと 「宣言」
    do_something(VAR)

定義(definition) は、実際に変数などの実体を作成することです。Pythonだと、var=100 とかになります。

var = 100 # 変数var の 「定義」

def func():  # 関数func の 「定義」
    pass

アメリカの独立「宣言」って実際はまだイギリスとの独立戦争が終わるまえに「宣言」してますよね。で、終戦後、イギリスと条約を結んでお互いの権益をはっきりさせて独立を「定義」します。宣言と定義、日本語だとどっちがどっちだかゴッチャになるんで、私はこんな感じに覚えてます。