YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

exit()はstr

Pythonでちょっとしたスクリプトを書こうと思っていろいろといじってた。で、下記のようなコードを書いたらエラーが出た。

#!/usr/bin/python
import sys
argvs = sys.argv
argc = len(argvs)
if argc > 2:
    exit()
else:
    print argvs[1]

これを実行したら

    exit()
TypeError: 'str' object is not callable

なんのこっちゃと思ってじっと考えてみたら、exit()ってPythonインタプリタではCtrl+Dと同様なんですよね。str型の変数。というわけで上のソースを

-   exit()
+   sys.exit()

としたら無事に動きました。めでたし。

しかしPythonやってて気持ち悪いのは、なんでexit()はエラーが出るのにlen()は普通に使えるのかと。たまに一貫性がないと感じてしまいます。