Pythonプログラミング
- コメント
- 文字列
- 数値
- [論理型]({{ < ref “#logical” >}})
- リスト
- タプル
- 配列・連想配列
- 辞書型(ディクショナリ)
- 集合型(セット)
- スライス
- if文
- for文
- [while文]({{ < ref “#while-statement” >}})
- switch文
- break
- continue
- コマンドライン引数
- プログラムの終了
- エスケープシーケンス
- 日付・時間
- パスの結合・連結
- 例外処理
- インポート
文字列
文字列の表示
Pythonの文字列は、“abc” (ダブルクォート) または ‘abc’ (シングルクオート) で囲みます。
>>> print("Hello, World")
Hello, World
>>> print('Hello, World')
Hello, World
文字列の操作
結合
>>> "abc" + "cde"
'abccde'
フォーマット
整数
>>> format(123, '5d')
' 123'
>>> format(123, '05d')
'00123'
浮動小数点数
>>> format(123.45, '5.2f')
'123.45'
>>> format(123.45, '8.2f')
' 123.45'
>>> format(123.45, '08.2f')
'00123.45'
>>> format(123.45, '08.4f')
'123.4500'
{}を使った記法。複数の値をフォーマットするときに便利。
>>> '{:5d}'.format(123)
' 123'
>>> '{:5d} {:5d}'.format(123, 456)
' 123 456'
>>> 'name = {:s}, age = {:3d}, weight = {:5.1f}[kg]'.format('Bob', 20, 71.3)
'name = Bob, age = 20, weight = 71.3[kg]'
位置引数で、出現位置を指定できる。
>>> '{0} {1} {2}'.format('a', 'b', 'c')
'a b c'
>>> '{0} {2} {1}'.format('a', 'b', 'c')
'a c b'
出現位置を指定しながら、フォーマットを指定できる。
```python
>>> '{0:4s} {2:4s} {1:4s}'.format('a', 'b', 'c')
'a c b '
数値
整数
>>> 123 + 456
579
インクリメント、デクリメント (++、–は使えないので注意。)
>>> x = 0
>>> x += 1
>>> print(x)
1
>>> x -= 1
>>> print(x)
0
除算は実数としての除算(/)と、整数除算の商(//)がある。
>>> 11 / 2
5.5
>>> 11 // 2
5
浮動小数点数
Pythonではfloat型は倍精度である。(8バイト)
>>> 123.45 + 456.78
580.23
その他、Decimal型(固定小数点数), Fraction型(有理数), complex型(複素数)がある。
数値の型の変換
整数に変換
>>> int(12.34)
12
浮動小数点数に変換
>>> float(12)
12.0
論理型
>>> x = 3
>>> x > 0
True
>>> x < 0
False
>>> x == 3
True
リスト
x = [1, 2, 3]
y = ['a', 'b', 'c']
z = []
リストのリストも作れる。
x = [[1, 2], [3, 4, 5], [6]]
要素の型が混在していてもよい。
x = ['a', 1.23, ['b', 4]]
for文でループの要素を参照する。
>>> x = ['a', 'b', 'c']
>>> for y in x:
... print(y)
...
a
b
c
その他、よく使う関数。
list.append(x)
リストの末尾に要素を一つ追加します。
a[len(a):] = [x]と等価です。
list.extend(iterable)
イテラブルのすべての要素を対象のリストに追加し、リストを拡張します。
a[len(a):] = iterableと等価です。
list.insert(i, x)
指定した位置に要素を挿入します。第 1 引数は、リストのインデクスで、そのインデクスを持つ要素の直前に挿入が行われます。従って、
a.insert(0, x)はリストの先頭に挿入を行います。また a.insert(len(a), x) は a.append(x) と等価です。
list.remove(x)
リスト中で x と等しい値を持つ最初の要素を削除します。該当する要素がなければ ValueError が送出されます。
list.pop([i])
リスト中の指定された位置にある要素をリストから削除して、その要素を返します。
タプル
>>> x = (1, 2, 3)
>>> for i in x:
... print(i)
...
1
2
3
辞書型(ディクショナリ)
>>> x = {'a':123, 'b':456, 'c':789}
>>>
>>> x['a']
123
>>> x['b']
456
>>> x['c']
789
集合型(セット)
inを使って、集合の中に要素が存在するかをチェックできる。
>>> x = {'a', 'b', 'c', 'd'}
>>> 'a' in x
True
>>> 'e' in x
False
制御構造
if文
>>> x = 10
>>> if x > 0:
... print('x is positive')
... elif x < 0:
... print('x is negative')
... else:
... print('x is zero')
...
x is positive
for文
range関数を用いて、制御変数が変化する範囲を指定する。 引数nが与えられると、制御変数が0からn-1まで変化する。 次の例では、iが0から4(=5-1)まで変化する。
>>> for i in range(5):
... print(i)
...
0
1
2
3
4
>>> for i in range(2,5):
... print(i)
...
2
3
4
増分値を指定することもできる。
>>> for i in range(2,10,2):
... print(i)
...
2
4
6
8
増分に負の数も指定できる。終了値以下になるとループを抜ける。
>>> for i in range(10,5,-1):
... print(i)
...
10
9
8
7
6
while文
条件が成立している間、ループが実行される。
>>> x = 0
>>> while x < 3:
... print(x)
... x = x + 1
...
0
1
2
ループ中では、C言語のようにbreak, continueが使える。
2019.10.29