まえがき
最近、Pythonを勉強し始めたので、その学習メモです。
Hello, World
まずは、おなじみの「Hello, World」から。
print('Hello, World')
実行結果
Hello, World
余計なものは何もいらない。そうPythonならね。
文字列処理
続いてはよく使う文字列処理です。
文字列リテラル
Pythonでは、シングルクォート('')とダブルクォート("")のどちらでも文字列と認識されます。
print('Single Quote String') print("Double Quote String")
実行結果
Single Quote String Double Quote String
複数行文字列
文字列を3連クォートでくくることによって、複数行の文字列を定義することができます。
multiline_str = """line1 line2 line3 """ print(multiline_str)
実行結果
line1 line2 line3
もしくは、改行文字("\n"
)を含めることでも複数行の文字列を定義することができます。
multiline_str = "line1\nline2\nline3" print(multiline_str)
実行結果
line1 line2 line3
文字列連結
文字列の連結は"+"演算子で行うことができます。
concat_str1 = "con" + "cat" + "_" + "str" print(concat_str1)
実行結果
concat_str
変数に格納した文字列に、"+"演算子で次々に連結して行くこともできます。
concat_str2 = "con" concat_str2 = concat_str2 + "cat" concat_str2 = concat_str2 + "_" concat_str2 = concat_str2 + "str" print(concat_str2)
実行結果
concat_str
また、"+="演算子を使用することで、同じ変数に対して次々と連結していくことができます。
concat_str2 = "012" concat_str2 += "34" concat_str2 += "567" concat_str2 += "8" concat_str2 += "9" print(concat_str2)
実行結果
0123456789
繰り返し
文字列の繰り返しは"*"演算子で繰り返し回数をかけることで定義できます。
repeat_str1 = "abc" * 3 print(repeat_str1)
実行結果
abcabcabc
文字列の連結("+")と繰り返し("*")を組み合わせて行うこともできます。
repeat_str2 = ("test" + "_") * 5 + "test" print(repeat_str2)
実行結果
test_test_test_test_test_test
文字列変換
数値などを文字列に変換する場合には、str()関数を使用します。
int_value = 100 int_str = str(int_value) + "%" print(int_str) float_value = 3.14 float_value = "π = " + str(float_value) print(float_value)
実行結果
100% π = 3.14
大文字/小文字変換
文字列のアルファベットをすべて大文字にするためにはupper()メソッドを使用します。
また、すべて小文字にするためにはlower()メソッドを使用します。
input_str = "TesT" print(input_str.upper()) print(input_str.lower())
実行結果
TEST test
置換
文字列を置換するためには、replace()メソッドを使用します。
input_str = "Hello, World" print(input_str) replace_str = input_str.replace("World", "Japan") print(replace_str)
実行結果
Hello, World Hello, Japan
分割
文字列を特定の区切り文字で分割するためには、split()メソッドを使用します。
分割された文字列はlist
型で返されます。
input_str = "a,b,c,d,e,f" print(input_str) split_str = input_str.split(",") print(split_str)
実行結果
a,b,c,d,e,f ['a', 'b', 'c', 'd', 'e', 'f']
桁揃え
数値などの桁揃えを行いたいときは、rjust()メソッド、ljust()メソッドを使用します。
rjust() / ljust()メソッドの引数には、揃えたい桁数と桁揃え時に埋め込む文字を指定します。
例えば、10桁に満たない数値の左端を0で埋めたい場合には、以下のようにrjust()メソッドを使用します。
input_str = "1234" print(input_str.rjust(10, "0"))
実行結果
0000001234
0埋めなどをせず、単純な左揃え、右揃えをしたい場合には、空白を指定してrjust()メソッド、ljust()メソッドを使用します。
input_str = "1234" print("|" + input_str.rjust(5, " ") + "|") print("|" + input_str.ljust(5, " ") + "|")
実行結果
| 1234| |1234 |
0埋め
特定の文字埋めをせず、単純な0埋めのみをしたい場合には、zfill()メソッドを使用します。
input_str = "1234" print(input_str.zfill(5)) print(input_str.zfill(3))
実行結果
01234 1234
検索
ある文字列が、特定の文字列から始まるかどうかを判定する場合には、startswith()メソッドを使用します。
input_str = "Hello, World" print(input_str.startswith("Hello")) print(input_str.startswith("World"))
実行結果
True False
逆に、ある文字列が、特定の文字列で終わるかどうかを判定する場合には、endswith()メソッドを使用します。
input_str = "Hello, World" print(input_str.endswith("Hello")) print(input_str.endswith("World"))
実行結果
False True
また、ある文字列に特定の文字列が含まれているかどうかを判定する場合には、"in"演算子を使用します。
input_str = "test" print("e" in input_str) print("a" in input_str)
実行結果
True Flase
先頭/末尾の削除
文字列の先頭や末尾から特定の文字を削除したい場合には、lstrip()メソッド、rstrip()メソッドを使用します。
メソッドの引数に何も指定しない(引数を省略した)場合は、空白を除去します。
メソッドの引数に特定の文字列を指定した場合は、指定された文字列を除去します(lstrip()メソッドの場合は、指定文字列から始まる場合、rstrip()メソッドの場合は指定文字列で終わる場合のみ)。
input_str = " 1_test_1 " print("|" + input_str + "|") input_str = input_str.lstrip() print("|" + input_str + "|") input_str = input_str.lstrip("1_") print("|" + input_str + "|") input_str = input_str.lstrip("_1") print("|" + input_str + "|") print() input_str = " 1_test_1 " print("|" + input_str + "|") input_str = input_str.rstrip() print("|" + input_str + "|") input_str = input_str.rstrip("_1") print("|" + input_str + "|") input_str = input_str.rstrip("1_") print("|" + input_str + "|")
実行結果
| 1_test_1 | |1_test_1 | |test_1 | |test_1 | | 1_test_1 | | 1_test_1| | 1_test| | 1_test|
ある文字列の、先頭および末尾に含まれる余分な空白を除去したい場合には、lstrip()メソッドとrstrip()メソッドを組み合わせて以下のように呼び出します。
input_str = " test " print("|" + input_str + "|") input_str = input_str.lstrip().rstrip() print("|" + input_str + "|")
実行結果
| test | |test|
参考文献
Python 公式リファレンス
https://docs.python.org/ja/3.7/index.html
Python-izm
ゲームを作りながら楽しく学べるPythonプログラミング
ゲームを作りながら楽しく学べるPythonプログラミング (Future Coders(NextPublishing))
- 作者: 田中賢一郎
- 出版社/メーカー: インプレスR&D
- 発売日: 2017/03/24
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
エキスパートPythonプログラミング
エキスパートPythonプログラミング 改訂2版 (アスキードワンゴ)
- 作者: Michal Jaworski,TarekZiade,稲田直哉,芝田将,渋川よしき,清水川貴之,森本哲也
- 出版社/メーカー: ドワンゴ
- 発売日: 2018/02/26
- メディア: Kindle版
- この商品を含むブログを見る