気ままなタンス*プログラミングなどのノートブック

プログラミングやRPGツクール、DTM、VOCALOIDについてのんびり書きます。

【Python】初めてのPython-7章ざっくりまとめ

この本をざっくり読んでいるので、ちょっとまとめる。

初めてのPython 第3版

初めてのPython 第3版

文字列フォーマット

ディクショナリを利用した例

# coding: utf-8
reply = """
Greeting...
Hello %(name)s!
Your age squared is %(age)s
"""

values = {'name': 'rin', 'age':'26'}

print(reply % values)

vars()関数との組み合わせでよく使われる

$ vars() # その時点で存在する変数とその値をディクショナリに入れて返却する
{'__spec__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__package__': None, '__builtins__': <module 'builtins' (built-in)>, '__doc__': None, '__name__': '__main__'}

name = "rin"
age = 26

str = "My name is %(name)s. My age is %(age)s." % vars()
print(str)
# My name is rin. My age is 26.

文字列メソッド

  • 属性の抽出
    • <オブジェクト>.<属性>という形式の式で行う
  • 関数のコードの起動
    • <関数>(<引数>)で行う

オブジェクトのメソッド呼び出し

  • <オブジェクト>.<メソッド>(<引数>)
    • 式は左から順に実行される
      1. オブジェクトのメソッドが抽出
      2. メソッドのコードを起動し、引数を渡す
    • メソッドの処理結果として得られた値はメソッド呼び出しの式の処理が終わった後に戻される

具体例

S = 'xxxxSPAMxxxxSPAMxxxx'

where = S.find('SPAM')
S = S[:where] + 'EGGS' + S[(where+4):]
print(S)

シーケンスからリストを作成することもできる

str = "grid rin"
seq = list(str)
# ['g', 'r', 'i', 'd', ' ', 'r', 'i', 'n']

元に戻すときは文字列メソッドjoin

str = ''.join(seq)