Python 基本文法

コメント

  • Python のコメントは # で始め、その行の終わりまでがコメントになる
  • """ で囲むコメントもあるがここでは割愛
# ここはコメント
i = 0 # ここもコメント

変数

  • Python は動的型付けの言語で、型を記述しない。(Python 3.5 からは Type Hints なるものがあるらしいが)
  • ある変数の型が何であるかは、実際にその変数に何が入っているかで決まる
  • 変数は変数名に値を入れたときに自動的に作成されるので明示的には宣言しない。
i = 0
# ここで、i という変数を利用可能になる
# i の中身は 0

i = "text"
# i の中身は "text"

数値

  • Python の数値型には int, long, float の3つがある。
i = 1
# i は int

i = 10000000000L
# i は long

i = 1.5
# i は float

bool

  • Python には True, False

文字列

  • ASCII 型の文字列とユニコード型の文字列がある。
  • ASCII 型は " でくくりユニコード型はその前に u をつける。
  • ダブルクオーテーション3つでくくった場合は、特殊な文字列となり、複数行の文字列を定義できる
text = "this is ascii text."
unicode_text = u"これはユニコードのテキストです"

multi_line_text = u"""この様に、
改行を含めることも出来ます。
"""

None

  • 何も入っていない状態を表す値として None がある。
  • 定義していないことを明示するために利用したりする。

配列

  • 配列は [] で表される。
  • 配列全体で型を統一する必要はない。
  • Python の配列は可変長
array = [0, 1, 2]

array.append(3)
# array = [0, 1, 2, 3]

辞書

  • 文字列をキーとして値を格納するオブジェクト
  • 存在していないキーにアクセスするとエラーが出るので注意
  • 値の追加は ["key"] に代入することででき、削除は del obj["key"] で行う。
dict_obj = {
    "key1": 0
    "key2": "value"
}

i = dict_obj["key1"]
# i = 0

t = dict_obj["key2"]
# t = "value"

n = dict_obj["key3"]
# KeyError: 'key3'

dict_obj["key3"] = "new item"
n = dict_obj["key3"]
# n = "new item"

del dict_obj["key3"]
n = dict_obj["key3"]
# KeyError: 'key3'

タプル

  • 複数の値をひとまとめにするためのもの。
  • 配列とは違い、長さを途中で変えることはできない。
  • 関数で複数の値を一度に返す必要があるときなどに使われる。
  • () で値を囲む
tuple = (1, 2, 3, 4)
# 要素数 4 つのタプル

tuple = (1, )
# 要素数が1つの場合は、最後にカンマが必要
# (1) ではただの数値になるため

tuple = 1, 2, 3, 4
# 実は () は無くてもいいみたい。

print(tuple[1])
# 2
# 中身はインデックスで取り出す

tuple[1] = 20
# 値の入れ替えもできる

d = {
    "a": "a!!",
    "b": "b!!",
}

for key, value in d.iteritems():
   print(key, value)
# a a!!
# b b!!
# パターンマッチと合わせて利用するケースが多い
# d.iteritems() は辞書の中身が (key, value) というタプルの配列として返る。