プログラミング言語「Python」のメモです。v.2.5 のメモのなので最新だと違うかも。。
シーケンス
シーケンスとは、オブジェクトを一定の順序に並べたものです。シーケンスでは要素となるオブジェクトの順序は常に変わりません。シーケンスには、文字列、リスト、タプル などがあります。
シーケンスに対して行える操作があります。要素の位置を指定して取り出す インデクシング、要素を範囲で取得する スライシング があります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
リスト内包表記
リスト内包表記はシーケンスに属する要素のそれぞれに同じ演算を行うことができる表記法です。リスト内包表記は最終的にリストを作成します。
1 2 3 4 5 6 |
|
タプル
タプル はリストと似ていますが、要素を変更することができません。タプルはカッコで作成します。要素が一つの場合は、要素の後にカンマをつけなければいけません。 タプルは オブジェクトの集合、リストは データ構造 と使い分けをするらしいです。
1 2 3 4 |
|
ヘルプを調べる
組み込み関数の dir
を使うと、オブジェクトの全属性のリストが手に入ります。また、help
関数を使うとメソッドのヘルプ情報を出力可能です。
1 2 3 4 5 6 7 8 9 |
|
文字列
Python ではシングルクォートとダブルクォートは同じ意味を持ちます。なので、他の言語のように、ダブルクォートの場合だけエスケープシーケンスが効くということはありません。
1 2 3 |
|
リスト操作
Python のリストは []
を使って作ります。他の言語の配列操作と同じ処理は基本的にできます。Python 特有の操作だなと思ったものだけメモ。
1 2 3 4 5 6 7 8 |
|
ステートメント、構文に関する注意点
コロンを忘れない
複合ステートメント(if、while、for などの最初の行)の末尾にはかならず :
をつけます。
トップレベルのコードはインデントしない
トップレベルコードはかならず左端から書き始めます。
while
や range
よりも、単純な for
を使う
シーケンスを扱う場合は、できるだけ単純な for
(for x in seq:
)を使うようにします。
オブジェクトの上書きを行う関数は値を返さない
list.append
や list.sort
などのオブジェクトを上書きするような関数は値を戻しません。None
を返すようにします。
変数のスコープ
Python の変数のスコープは、「ローカルスコープ」「グローバルスコープ」「ビルトインスコープ」があります。 関数内で定義された変数は「ローカルスコープ」に所属します。
関数の引数で渡された変数は参照渡しになります。変数の代入では元のオブジェクトは変更されませんが、オブジェクトの上書きは影響を及ぼします。