Pythonの学習の過程とか

学習の記録をつけておきましょう。Python3に少しずつ移行していきます。過去の記事のソースを2から3に、、、と考えましたが、新しいことをやったほうがいいですね。

Pythonの基礎 for編

  • Cと違うのは、リストやレンジを指定すること
  • また、forの最後にelseを使うことで、最後だけの処理を指定することもできる

リストを使ったfor

#coding:utf-8

sum = 0
for i in [1, 3, 5, 7, 11]:
     print i
     sum += i
else:
     print sum #リストを全部出力したらここに来る。
#実行結果
1
3
5
7
11
27  

レンジを使った場合

#coding:utf-8

sum = 0
for i in range(10):  #言うまでもなく、0から9まで
     print i
     sum += i
else:
     print sum
#実行結果
0
1
2
3
4
5
6
7
8
9
45

continueを使うことができる

#coding:utf-8

for i in range(10):
     if  i == 3: continue  #3のときは何もせずに続行する
     print i
else:
     print "end"
#実行結果
0
1
2
4
5
6
7
8
9
end

breakも使える

#coding:utf-8

for i in range(10)
     if i == 3: break #3がきたらforの処理終了
     print i
else:
     print "end"
#実行結果
0
1
2   #当然、endは表示されないことに注意

辞書型を使う場合

#このような辞書を用意しておく
a = {"John":200. "Paul":300, "Mick":500}

キーと値の両方を取り出すやり方

for k, v in a.iteritems():
     print "key: %s value: %d" % (k, v)
#実行結果
key:Paul value:300
key:John value:200
key:Mick value:500

キーだけをとりだすやり方

for k in a.iterkeys():
     print k
#実行結果
Paul
John
Mick

値を取り出すやり方

for v in a.itervalues():
     print v
#実行結果
300
200
500

辞書型は、例えばWebAPIにアクセスしてJSONでデータを貰ったときの解析や表示に使える。

これはかならず押さえておくこと。

ちょっと疑問が。。。。辞書型の場合、forでの順番ってどうなるんだろう。

これは後で調べてから書きます。

初めてのPython 第3版

初めてのPython 第3版