2016年5月9日

考察・記号

Python と他のプログラム言語の文法を見比べた際、総じて Python は記号を使う機会の少ない言語であると言えます。


C言語を比較対象として、以下に4例ほどを挙げます。

# ① NOTの書き方。Pythonには ! がない
if not condition:
    pass
// C言語のNOT
if (!condition) [
}

# ② AND条件。Pythonには && がない
if condition1 and condition2:
    pass
// C言語のAND条件
if (condition1 && condition2) [
}

# ③ Pythonの3項演算子は記号を用いない
a = 10 if condition else 0
// C言語の3項演算子
a = condition ? 10 : 0;

# ④ Pythonにはインクリメントが無い
>>> a = 1
>>> a++
  File "", line 1
    a++
      ^
SyntaxError: invalid syntax
上記を見ると、Python の言語設計では、記号を用いた表現はできるだけ避け、日常言語(ここでは英語)に近づけようという思想が感じられます。



PEP 8 には、「日常言語に近づける」という思想を如実に表すルールがあります。

Yes:
if foo is not None:

No:
if not foo is None:
これはズバリ、is not という英語表現が使えるのだから is not を使いなさい、というルールです。

0 件のコメント:

コメントを投稿