作者: Noritsugu Nakamura
日時: 2002/3/16(02:28)
中村 のりつぐ です。

In article <200203120130.g2C1Ula10634@...> 
kikwai@... (機械伯爵) wrote:
>  Pythonでは、インデントだけでブロックが判別されるので、
> {}を書く必要がありません☆
> 
>  ・・・いや、ご存知とは思いますけど、ノリで・・・

それも本当に良いのか悪いのか私には判断ついていないです。
(悪いと完全には言えないと断言できないということは
OK ってことなのかもしれません (^_^;

利点
o タイプが少なくなる

欠点(?)
o やっぱりブロックは記号で囲って欲しい
  (けど Ruby は終端の end はあるけど
   はじまりの記号は普段は使わないし
   結構いらないのかも)
o 空文 で pass とか書かなくてはいけないのは
  ちょっとかっこ悪いかも?


>  まぁ、{}が省略できる分、()が省略できないというトレード
> オフがありますが、これについては、今後さらにつっこんで話して
> いきたいと思います。

関数呼び出しの () が省略できるのは確かに便利なんですが、
色々問題も引き起こすので省略できなくても良いかなと
思っています。

良く分かっていないのは Python で関数定義の () はなぜ
必要なのか?です。(引数列の終端として「:」がつくので
素人考えでは要らないのでは?と思ってしまったのですが…)

私の推論
o 呼び出しと統一したかった
o 引数が複数行に跨った場合かっこがあると見分けがつきやすい?
o 引数があった場合はかっこがあると見やすいので、かっこを
  必須とした。統一するため引数がないときもかっこは必須とした

真実はどうなんだろう?〜

       中村 典嗣  E-mail:     nnakamur@...