コマンド
python
汎用的なプログラミング言語
●代入
num = 3
str = "abc"
str = 'abc'
●文字列
print 'abc'
print "abc"
→ シングルクォートでもダブルクォートでもいい。
print 'abc\ndef'
print "abc\ndef"
→ Perl や Ruby などは \n などのエスケープシーケンスを使えるのは "〜" のみであるが、Python ではシングルクォートでもダブルクォートでもどちらも使える。
print len('abc')
文字列結合には + を使う。
str2 = "hoge" + str + "fuga"
●文字列フォーマット
紛らわしいが、format() 関数と、文字列型のメソッドとしてのformat() がある。とはいえ全く無関係ではなく、書式指定文字列などは共通の書き方になっている。
下記は format() 関数。
result = format(123, "05d")
→ 00123 とゼロ埋めされる
result = format(123, "04x")
→ 007b と 16進数かつゼロ埋される
下記は文字列型の format() メソッド。
str = 'hoge'
num = 123
print('{} and {}'.format(num, str))
→ "hoge and 123" となる。"{}" の個数が format() 内の引数より多いとエラーとなる。
print('{0} and {1} and {0}'.format(num, str))
→ 0番目、1番目など明示することも可能。このやり方なら N 番目のパラメータを再利用できる。
print('{var1} and {var2}'.format(var1=num, var2=str))
→ 任意の名前で指定することもできる。
print('{{0}} is {0}'.format(num))
→ "{" "}" そのものを出力したい場合は "{{" "}}" と 2回重ねる。この例では "{0} is 123" と出力される。
print(f'{num} and {str}')
→ Python3.6 以降だが、f-strings を使うと変数名をそのまま埋め込み可能。
●if文
単純な if 文は以下のとおり。
単純な else をつけた例。
単純な elif をつけた例。
if 条件:
...
elif 条件:
...
elif 条件:
...
else:
何も処理をしない場合は pass をつける。
if 条件:
# 正常系なので何もしない。
pass
else:
エラー処理
●四則演算
a + b
| 加算
|
a - b
| 減算
|
a * b
| 乗算 (掛け算)
|
a / b
| 除算 (割り算)。8 / 3 は 2.6666 となる。★不正確。要修正
|
a % b
| a を b で割った余り
|
a ** b
| a の b 乗
|
a // b
| 除算 (小数点以下切り捨て)。8 // 3 は 2 となる。★不正確。要修正
|
●コメント
# ここがコメント
"""
複数行コメント
複数行コメント
複数行コメント
"""
●dict (辞書・ディクショナリ)
mydict = {'key1': 10, 'key2': 20, 'key3': 30}
キーのみ取得
for k in mydict:
print("k={}".format(k))
値のみ取得
for v in mydict.values():
print("v={}".format(v))
キーと値両方を取得
for k,v in mydict.items():
print("k={} v={}".format(k, v))
Python 3.7 より前の dict は順序保持を保証しない。
●print
print 文は、Python2.x では print "文" であったが、Python3 からは print "関数" となった。その結果、print 関数はカッコが必須となる。
print "hoge"
→ Python2.x のみ動く。Python3 ではエラー
print("hoge")
→ Python2.x でも Python3 でも動く
print 文または print 関数で、文字列や変数を表示できる。
print("hoge")
→ hoge と出力
var = 123
print(var)
→ 変数 var を出力
改行コードなしとする場合、Python3 では下記のようにする。
Python2 では下記のようにする。
●関数 - 引数なし
def myfunc():
printf("Hello myfunc")