絶対に挫折しない最強言語Python入門Part.1 -最強のPython。Pythonはいいとこだらけ!-
絶対に挫折しないiPhoneアプリ開発入門に続き、絶対に挫折しない最強言語Python入門の連載を始めます。まだiPhoneアプリ開発入門のほうが未完成ではあるのですが、いろいろガンガンやっていきたいと思います(笑)
なぜPythonなのか。
ぼくがPythonを知ったきっかけはハッカーになろう (How To Become A Hacker)でした。
この文章の中で、筆者は、
「もしコンピュータ言語をなにも知らないなら、まず Python から始めることをおすすめします」
「設計がきれいだし、ドキュメントもしっかりしているし、初心者にもそこそことっつきやすくできています」
「プログラミングに手をつける準備ができたら、私は Python から始めることを勧めます。たくさんの人が Perl を勧めるのを聞かれたでしょうし、Perl は今なお Python よりも人気がありますが、習得するのが Python より難しいですし、(私の考えでは)Python ほどうまく設計されてません。ウェブには Python を利用するプログラミング初心者のための情報源が存在します」
ハッカーになるのにPythonという言語はいいものなのかなぁなんて漠然とした考えでとりあえずPythonについて勉強し始めました。するとすると、なんときれいで明快で、気持ちのいい、それでいて力強い言語なことでしょう!ぼくはあっというまにPythonに魅せられました。そんなわけで、ぼくはこの連載を通して、Pythonの魅力や、実用的なことなどを書いていけたらと思います。
まだまだPythonの日本語書籍は少なく、またブログなどでPythonについて日本語情報も少ないと思っています。
そんな状況の中、ぼくのブログがPythonをいろんな人に知ってもらえる一助になれば幸いです。
Pythonはコードが短く読みやすい
Pythonではプログラムを短く、読みやすく書くことができます。同じことをC,C++,Javaで書くよりもずっと短いことが多い言語です。これを可能にしているのは、Pythonチュートリアル 第2版から引用すると、
- 高水準のデータ型が、複雑な操作を単一分で表記することを可能にしている
- 文のグルーピングは、カッコで囲うことでなくインデントで行われる
- 変数や引数の宣言が不要
例えばJavaで10+20=30という計算式のコードを書いてみます。
class keisan { //←←中カッコ「{}」が必ず必要。 public static void main(String args[]) { int num1,num2,num3; //変数の宣言がいる。Javaでは変数が何者なのか明らかにしておかなくてはならない。 num1 = 10; num2 = 20; num3 = num1 + num2; System.out.println(num3); } }
コンパイルして、
>javac keisan.java
その後、実行
>java keisan.java 30
10+20=30という結果を出力するだけでも割と大変ですね。
Pythonならどうでしょう。
まずPythonには「対話型のコマンドライン」でコードを入力し、計算結果を得るだけならこれだけ。
あなたがMacユーザーならターミナルを開いて、 pythonと入力してEnterを押してください。
ぼくの場合こんな感じで起動します。
Last login: Thu Jan 12 12:42:16 on console Watanabe-no-iMac:~ ics_hiro$ python Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
10+20と打ち込んでEnterを押してください
Last login: Thu Jan 12 12:42:16 on console Watanabe-no-iMac:~ ics_hiro$ python Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 10+20 30
対話型のセッションでは入力したコードが保存されないので、上記のJavaのコードと比較するのは反則なのですが、こんな感じで簡単にPythonを扱えるんですよ!っていう気持ちで書きました。
もうちょいプログラムらしく書くと、
>>> num1=10 >>> num2=20 >>> num1 + num2 30
int num1 のように変数が整数ですよってわざわざ言わなくても、Pythonの場合はプログラム実行時にダイナミックに型付けしてくれます。
大事なのはまだまだあるのですが、代表的なのがPythonはブロックを{}で囲む必要がないことです。
C言語の経験がもしあるなら、これが当たり前だと思います。
Cの場合
if (x > y) { x = 100; y = 200; }
一方、Pythonの場合
if x > y: x = 100 y = 200
Pythonでは、字下げ、つまり空白の作り方でプログラムの論理的構造を示します。同じブロックに属するコードでは字下げを統一しなければなりません。
この字下げのルールによって、Pythonプログラマーが作るコードの一貫性、統一性が保たれ、自分以外の人にも読みやすいものとなります。もちろん自分が見直すときにも、論理構造がわかりやすいので、改善、再利用しやすくなります。
これからPythonを学んでいく中で、徐々にこの字下げのルールの素晴らしさを実感していきましょう。
Pythonはかなりメジャーなサービスでも使われている
Googleの検索システムでは様々なところでPythonが使用されています。みなさんがよく見ているであろうYouTubeもかなりの部分がPythonでできているようです。そしてそして、あのFacebookもPython…!!!これは学ぶしかなさそうですな!
Pythonで出来ることは無限大!
Pythonはハッカーになろう (How To Become A Hacker)でも書かれているようにとても設計がすぐれていて、実用性が高い言語です。
- ウェブサイトの構築
- ゲーム開発
- ロボット開発
他にもさまざまな応用のきく言語です。いやはやさすが最強のPython。
Pythonの魅力は語りつくせないのですが、この連載を通してところどころに他の言語との比較などもいれつつ、勉強していく予定です。