Python入門者に贈る16の鍵

月曜日, 3月 7th, 2011 by

このエントリーは、Python入門者と、Python入門予備軍の方を対象としています。

どうしてPythonやるの?

Pythonって覚えやすい言語なんです。といっても、それなりに使いこなせるようになるには、数十時間程度はかかるわけです。なんとなく・・で勉強するなら、やらないほうがましです。ちゃんと、自分なりの目標を設定してから勉強しましょう。私の目標は、2011年中に、Pythonで日本国内でそこそこ有名になることです。そこそこでいいです。pythonでぐぐって10番ぐらいに表示されれば満足です。それぐらい有名になったら、来年はPythonで仕事しつつ、他のこと勉強してると思います。

実は世界的にはPHPより人気がある

Pythonは、Java、C、C++に次いで人気のある言語です。決してマイナー言語ではありません。
2011年2月のランキング

GoogleAppEngineで使える

クラウドコンピューティングって、聞いたことありますよね。やってます?Amazon EC2とか、格安VPSサービスとかあるけど、あーいうのって、基本料金かかるんですよね。格安サービスといっても、月1000円ぐらいかかります。で、月1000円で始めたとします。アクセス増えます。どうします??EC2なら、インスタンス切り替えるだけですよね。1時間単位で課金されるので楽っちゃー楽です。でも、サーバの構成とか意識しないといけない時点で、真のクラウドコンピューティングじゃないと思うんですよ。使った分だけお金を払えばいい。サーバ構成やら付加分散やらの小難しい話はPaaSプロバイダに丸投げしちゃいたいわけですよ。その点、GoogleAppEngineは最高です。サーバの選択画面なんてありません。アクセス増えれば勝手にスケールアウトしちゃいます。課金上限を超えない限りは勝手にうごいてくれる夢のクラウドサービスです。

  • 基本料金無料
  • サーバ構成はきにしなくてよい

環境構築

環境構築の際に気をつけることは、バージョン2.5系を選ぶこと。最新版は3.2なのですが、GoogleAppEngneがPython2.5なので、Python2.5を使いましょう。Python2.5を使いましょう。Python2.5を使いましょう。

ダウンロードページ
http://www.python.org/download/releases/2.5/

Windows用インストーラ
http://www.python.org/ftp/python/2.5/python-2.5.msi

基本編

1. バージョン確認方法

使っている言語のバージョンぐらい確認しておきましょう。2.5がお勧めです。2.5が。

コマンドライン上で確認

1
2
C:\Python25>python -V
Python 2.5.4

python上で確認

1
2
3
4
5
6
7
>>> import sys
>>> sys.version
'2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)]'
>>> sys.subversion
('CPython', 'tags/r254', '67916')
>>> sys.version_info
(2, 5, 4, 'final', 0)

2. 数値

3つの数値型

Pythonの数値には、整数型、長整数型(3.0以降では整数型と融合)、浮動小数点型の3つがある。

1
2
3
4
5
6
>>> 1
1
>>> 1.1
1.1000000000000001
>>> 10000000000000000000
10000000000000000000L

型判定

型を調べるにはtype関数を使う

1
2
3
4
5
6
>>> type(1)
<type 'int'>
>>> type(1.1)
<type 'float'>
>>> type(1000000000000000000)
<type 'long'>

3. 文字列

2種類の文字列型

文字列にはstr型とunicode型がある。日本語を使う場合はunicode型を使うこと。

1
2
3
4
5
6
7
8
>>> print "foo"
foo
>>> print u"ほげ"
ほげ
>>> type("foo")
<type 'str'>
>>> type(u"ほげ")
<type 'unicode'>

(シングル or ダブル) × (1個 or 3個)

シングルクオーテーションとダブルクオーテーションは同じ意味。文字列中にシングルクオーテーションがあるなら、ダブルクオーテーション使うと楽。両方ある場合は3個ずつ並べればOK。

1
2
3
4
5
6
7
8
>>> "foo"
'foo'
>>> """foo""" #途中に改行が含まれていても良い
'foo'
>>> 'bar'
'bar'
>>> '''bar''' #途中に改行が含まれていても良い
'bar'

連接と繰り返し

プラスで文字列連結、掛けるで繰り返し。

1
2
3
4
>>> print "foo" + "bar"
foobar
>>> print "*"*20
********************

モジュラ演算

sprintfみたいな感じ。

1
2
3
4
5
6
7
8
9
#単一値の置換
>>> "This is a %s." % "pen"
'This is a pen.'
#複数の値の置換
>>> "%d + %d = %d" % (1,1,1+1)
'1 + 1 = 2'
#名前指定で置換
>>> print "<title>%(title)s</title>" % {"title": u"Python練習帳"}
<title>Python練習帳</title>

4. リスト

リストは大括弧で囲う。

1
2
3
4
5
6
>>> [1,2,3]
[1, 2, 3]
>>> type([1,2,3])
<type 'list'>
>>> len([1,2,3])
3

連接とスライシング

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#足し算で結合
>>> [1,2,3] + [1,2,3]
[1, 2, 3, 1, 2, 3]
#単一要素の取得
>>> [1,2,3][0]
1
#部分列を取得
>>> [1,2,3][0:1]
[1]
>>> [1,2,3][0:3]
[1, 2, 3]
#逆順
>>> [1,2,3][::-1]
[3, 2, 1]

5. タプル

不変なリスト。括弧で囲う。

1
2
3
4
>>> (1,2,3)
(1, 2, 3)
>>> (1,)#要素数が1の場合は最後にカンマをつける
(1,)

6. アンパック代入

まとめて代入できる。変数の入れ替えなどに便利。

1
2
3
4
5
6
>>> (a,b) = (1,2)
>>> print a,b
1 2
>>> (a,b) = (b,a)
>>> print a,b
2 1

7. リスト内包表記

Pythonといえばリスト内包表記。使いこなすとかっこいいかも。

1
2
3
4
5
6
>>> [1,2,3]
[1, 2, 3]
>>> [x**2 for x in [1,2,3]]
[1, 4, 9] #各値を二乗
>>> [x**2 for x in [1,2,3] if x % 2 == 1]
[1, 9] #奇数の値を取り出して二乗

8. ディクショナリ

連想配列みたいなもの、キーは文字列以外も使える。

1
2
3
4
5
6
>>> dictA = {"hoge":100, "hige":200}
>>> dictA["hoge"]
100
>>> dictA["hoge"] = 300
>>> dictA
{'hige': 200, 'hoge': 300}

9. インデント

Pythonはインデントでプログラム構造を表現する。インデントの崩れたプログラムは実行できない。

スペース8個でタブ1個になるが、スペースとタブを混ぜるのはやめたほうがよい。

10. 条件分岐

ifとelseの後ろにコロンをつける。インデントのついている範囲がIfの対象範囲。

1
2
3
4
5
6
7
>>> x = 10
>>> if x > 10:
...   print "big"
... else:
...   print "small"
...
small

11. ループ

for in を使う。

1
2
3
4
5
6
7
8
>>> for x in range(5):
...   print x
...
0
1
2
3
4

12. 例外処理

try exceptを使う。

1
2
3
4
5
6
>>> try:
...   print undefined_value
... except:
...   print "error"
...
error

13. 関数

defで定義する。

1
2
3
4
5
6
7
>>> def double(x):
...   return x * 2
...
>>> double(10)
20
>>> double(double(10))
40

14. クラス

Python動的型付け言語。すべての値がオブジェクト。

詳細は→クラス(class)

15. モジュール

プログラムの記述されたファイル。モジュールはimportして使う。

1
2
3
>>> import math
>>> math.pi
3.1415926535897931

モジュールの一部を使いたい場合は from * import * を使う

1
2
3
>>> from math import pi
>>> pi
3.1415926535897931

16. コメント

文法上は単行のコメントしかサポートされていません。複数行のコメントは文字列で記述します。

1
2
3
4
5
6
#コメント
u"""
複数行のコメントは文字列にする。
文字列として記述しておけば、ドキュメントを自動生成できる。
コメント内に日本語を記述する場合はunicode文字列にしておく。
"""

まとめ

このエントリーを読んでPythonを分かった気分になって頂けると幸いです。でも、プログラムって、実際に手を動かさないと身につきません。早速Pythonをインストールして使ってみましょう!

来週中を目処に、GAE向けの入門記事書くつもりなので、それまでにPythonの基礎しっかりみにつけておきましょう!

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Facebook comments:

comments

Leave a Reply


Get Adobe Flash player
single