python で hello world
また Python の復習。
対話モードを使ってみる
Python には対話モードというのがあって、いちいちテキストファイルにソースを書かなくてもいいらしい。
試しにに実行してみる。
> python >>> print 'hello' hello
ってな感じで動いた。
カッコはつけない?
print って関数(メソッド)っぽいでしょ?
だからカッコいるんじゃないかなぁと思ったら、
これも付けても付けなくても動いた。
Ruby はカッコは付けなくてもいいんだけど、
Python も同じなのかな?
対話モードはやめてファイルに
対話モードだとせっかくかいたコードが消えちゃうので、
やっぱりファイルに書く。
拡張子は .py にしておくのですよ。
これは何て読むんだろ?
「ぱい?」「ぴぃ?」
ま、いっか。
インデントがとっても大事
Python が他の言語と大きく違うところ。
それはインデントに意味があるってことです。
試しに↓なコードを書いてみよう。
indent_error.py print 1 print 2 ※ちょっとずらしてみる。
なんと、ちょっとずれてるだけでエラーになっちゃいます。
桁位置が重要って聞くと、昔の言語を思い出しちゃうけど
それとはちょと違う…違うと信じながら、おべんきょ。
日本語を表示してみる
ファイルに以下を書いてみる。
test.py print 'こんにちは' SyntaxError: Non-ASCII character '\xe3' ... どーたらこーたら
なんかエラー出たよ…。
なんで?なんで?
やっぱり日本語版 Python じゃないと日本語ダメダメ?
ネットから別の Python を落としてきたりしたけどダメ。
入門書の目次から日本語に関する所を読んでみる。
日本語は u"〜" と書くといいでしょう。
よし、今度はどうだ?
test.py print u'こんにちは'
やっぱダメだ…。
ってかエラーを読むと SyntaxError ってなってる。
コード自体の書き方とかじゃなさそう。
何か設定があるのかも。
調べてみたら、こんなん出ました。
ソースコードにShift_JISの文字列を含む場合は、
ファイルの先頭に
# -*- coding:sjis -*-
と記述すればメッセージは出なくなります。
http://www.python.jp/pipermail/python-ml-jp/2004-January/002669.html
もー、そういうことなら教えてよ〜。
私はソースファイルは utf8 で書いてるので、上記の sjis を utf8 にしてみる。
# -*- coding:utf8 -*- test.py print u'こんにちは'
できたー!