Python のお勉強1 ( 文字列、for 文 )
特に理由はないのですが、最近、パーフェクト Python を読みながら Python の勉強中です。やったことを忘れないように「Python のお勉強シリーズ」としてメモに残しておきます。
パーフェクトPython (PERFECT SERIES 5)
- 作者: Pythonサポーターズ,露木誠,ルイス・イアン,石本敦夫,小田切篤,保坂翔馬,大谷弘喜
- 出版社/メーカー: 技術評論社
- 発売日: 2013/03/05
- メディア: 大型本
- 購入: 1人 クリック: 65回
- この商品を含むブログ (27件) を見る
今回は、文字列と for 文について。
■ String.py
#coding: cp932 s1 = "abc" s2 = "def" print("s1:", s1) print("s1+s2:", s1+s2) #連結 print("s1:", s1, "s2:", s2) #"abc def" と空白が挿入される print("s1[1]:", s1[1]) #インデックス 1 の文字を取り出す print("s1[0:2]:", s1[0:2]) #スライスの使用 print("len:", len(s1)) #文字の長さを取得 print("id(s1):", id(s1)) #オブジェクトには固有の id がある print("id(s2):", id(s2)) s11 = "abc" print("id(s11):", id(s11)) #同じ文字列だと同じ id になる ( s1 が指してる文字列が使いまわされるらしい ) s3 = "あいう" print("s3:", s3) print("len:", len(s3)) #日本語の文字数を返してくるみたい
■ 実行結果
s1: abc s1+s2: abcdef s1: abc s2: def s1[1]: b s1[0:2]: ab len: 3 id(s1): 30315072 id(s2): 30365504 id(s11): 30315072 s3: あいう len: 3
■ for.py
#coding: cp932 list = [1, 2, 3, 4, 5] for i in list: print(i) else: print("----(1)") for index, val in enumerate(list): #enumerate 使うとインデックスも取れる print(index, val) else: print("----(2)") for i in ["a", "b", "c", "d", "e"]: print(i) else: print("----(3)") for i in range(5): print(i) else: print("----(4)") for i in range(5): print(i) if i == 2: break #break で抜けると else 部分は実行されない else: print("not execute") print("-----(5)") # 辞書関連の for 文 map = {"key1":"val1", "key2":"val2", "key3":"val3"} for key in map: # in *** の部分を辞書にするとキーでイテレートされる print(key) else: print("----(6)") for val in map.values(): #values() 使うと値でイテレートされる print(val) else: print("----(7)") for key, val in map.items(): #items() 使うとキー、値どっちも取れる print(key, ":", val) else: print("----(8)")
■ 実行結果
1 2 3 4 5 ----(1) 0 1 1 2 2 3 3 4 4 5 ----(2) a b c d e ----(3) 0 1 2 3 4 ----(4) 0 1 2 -----(5) key1 key2 key3 ----(6) val1 val2 val3 ----(7) key1 : val1 key2 : val2 key3 : val3 ----(8)
以上です。