メニュー

2011年3月7日

自分の好きな言語の、嫌いな5つのことがらは? Python編

What are five things you hate about your favorite language?
http://stackoverflow.com/questions/282329/what-are-five-things-you-hate-about-your-favorite-language

なるものがありました。

自分の好きな言語の、嫌いな5つのことがらは? だそうです。

最近よく使うPythonで答えてみました。


  • コロン

せっかく改行までが1行という決まりなのに、def、class、ifのあとにコロンが必要。
最近は手が覚えましたが、最初はコロンを忘れまくりました。
無くていい。


  • strとunicode

文字列にstrとunicodeの2種類あるのは混乱の元。
(3では文字列はunicodeに統一されます)


  • タプルのリテラルが()なこと

関数呼び出しと同じ記号なので、関数呼び出しと一緒に使うと見づらいです。
とはいえ、他に括弧の記号がないのでしょうがないですね。


  • インデントの標準がスペース。個人的にはタブ派

これは個人的な好みです。タブがいいです……。


  • self、except、raise

他の言語に慣れてるとthis、catch、throwが良かったかなーと。


というわけで5つです。

良く言われる、メソッドの第一引数にselfがあることは、僕は嫌いではありません。

class Foo(object):
  def bar(self):
    pass

obj = Foo()

のとき、以下の2つの呼び出しが一緒になってくれるから。

obj.bar()
Foo.bar(obj)