読者です 読者をやめる 読者になる 読者になる

プログラミングを始めるひとへのPython入門

Pythonを始める人への日本語情報集 - None is None is None
こんな記事を見かけたのですが、確かに表題の「Pythonを始める人への日本語情報集」だったらそれでいいと思うんだけど、最初に出されている質問である「RubyPythonどちらが初心者向けでしょうか?」というやつは、他のプログラミング言語をやったことがあって今回Pythonを始める人、ではなく、プログラミングを始める人、を想定している質問である。プログラミングの経験者がPythonを始める分には、Pythonチュートリアルは高速道路と言っていいが、免許すら持ってない人をイキナリ高速道路に放り込むのは頂けない。大体ライブラリってなんですかレベルやで。

プログラミング初心者はどうしよう

となるわけだが、そういうひとは普通に「みんなのPython」読みましょう。間違っても他の本には手を出さないほうがいい。順番的な意味で。

みんなのPython 改訂版

みんなのPython 改訂版

お手元に簡易リファレンスを

リファレンスってなに?っていうところからだと思うのですが、リファレンスってのはある命令をしたいときに、どういう書き方をしたらいいのか、が書いてあるものです。さらにその解釈のされかたとかも書いてあるのですが、そこはいいとして、プログラミングでよく使う条件分岐を例にすると、C言語では、

if(条件){
    命令1
}else{
    命令2
}

みたいな書き方をします。これがPythonでは、

if 条件:
    命令1
else:
    命令2

になるのですが、こういうことをリファレンスは書いてありまして、プログラマのみなさまこれを参照しながらコードを書いているのですね。というわけで公式のリファレンスのPDFを落としとくと便利。まぁWebにもあるんだけど。もちろん先ほど上げた本も十分簡易なリファレンス的使い方に耐えます。
ただ、結構量が多く毎回検索する使い方になるので、すごく単純なことを忘れた時のために(if文の書き方とか忘れるよね!)Python基礎文法最速マスターをおすすめしておきます。僕がPythonコードを書くときは大体ブラウザのひとつのタブはここを開いてますね。
Python基礎文法最速マスター - LazyLife@Diary

書き方について

Pythonて言語そのものが書き方を結構拘束する言語なんだけど、それは読みやすさを重視してるからなんですね。PEP8というPythonの慈悲深き終身独裁者直々のお達しがあるのですが、これはPython的にきれいな書き方についての文書なのです。ちょっとコードが書けるようになってから読むのをおすすめします。
http://oldriver.org/python/pep-0008j.html
あとGoogleは慈悲深き終身独裁者がいらっしゃる場所なのですが、Googleもスタイルガイド出してます。このふたつに従うと良い感じのコードになるらしいよ。
Google Python スタイルガイド — PyGuide - 2.29

まとめ

やっぱRubyのほうが日本語情報は多いので、周りに教えてくれるひと(Twitterとか含む)が皆無なひとはRubyおすすめします。でもPythonも乙なものですヨ。リスト内包とか。