====== Python ランゲージ メモ ====== ===== 文字列 ===== ==== 書式編集 ==== str = 'integer value: %d' % int_val str = "string value: '%s' integer value: %d" % (str_val, int_val) str = "dic['key']: '%(key)s'" % { 'key' : 'abc' } "string value: '{}' integer value: {}".format('abc', 123) "string value: 'abc' integer value: 123" str_val = 'abc' int_val = 123 f"string value: '{str_val}' integer value: {int_val}" "string value: 'abc' integer value: 123" int_val = 123456789 int_val1 = 12345 f'integer value: {int_val:,} integer value1: {int_val1:,}' 'integer value: 123,456,789 integer value1: 12,345' pi = 3.14159265358979 f'pi: {pi:.2f}' 'pi: 3.14' flt_val = 123456789.0123456 f'float value: {flt_val:,.4f}' 'float value: 123,456,789.0123' flt_val = 1234.5678 f'float value: {flt_val:>10,.2f}' 'float value: 1,234.57' 'int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}'.format(65536) 'int: 65536; hex: 0x10000; oct: 0o200000; bin: 0b10000000000000000' ==== 置換 ==== str = str.replace("\r\n", "
")
==== 分割 ====  split は文字列を指定された区切り文字で分割しリストとして返却する。 >>> 'a,b,c,d,e'.split(',') ['a', 'b', 'c', 'd', 'e'] >>> 'a b c d e'.split() ['a', 'b', 'c', 'd', 'e'] ==== 連結 ====  join は指定されたシーケンスを文字列で連結して返却する。 >>> ','.join(['a', 'b', 'c', 'd', 'e']) 'a,b,c,d,e' ==== 空白文字列の除去 ====  python で trim するには、strip、lstrip、rstrip を使う。これらは文字列の前後のスペースを除去した結果を返す。 >>> str = ' mojimoji ' >>> str.strip() 'mojimoji' >>> str.lstrip() 'mojimoji ' >>> str.rstrip() ' mojimoji' >>> str ' mojimoji ' ===== 型変換 ===== ==== 文字列を日付型へ変換 ====  文字列を日付型へ変換するには、以下のように記述する。 import datetime import time datetime.date(*time.strptime('2009/05/23', '%Y/%m/%d')[:3]) datetime.date(2009, 5, 23) datetime.datetime(*time.strptime('2009/05/23 17:16:12', '%Y/%m/%d %H:%M:%S')[:6]) datetime.datetime(2009, 5, 23, 17, 16, 12)  上記のコードは、以下のように動作している。 >>> import datetime >>> import time >>> time.strptime('2009/05/23', '%Y/%m/%d') (2009, 5, 23, 0, 0, 0, 5, 143, -1) >>> time.strptime('2009/05/23', '%Y/%m/%d')[:3] (2009, 5, 23) >>> datetime.date(*time.strptime('2009/05/23', '%Y/%m/%d')[:3]) datetime.date(2009, 5, 23) >>> - time.strptime にて struct_time に変換。 - struct_time をスライス。 - 年月日のタプルに * を付けて、位置指定型の引数として datetime.date に渡す。 ===== クラス ===== >>> class ClsA(object): >>> def method(self, arg1): >>> print("ClsA.method: %(arg1)s" % {"arg1" : arg1}) >>> >>> class ClsB(ClsA): >>> def method(self, arg1): >>> print(super(ClsB, self)) >>> super(ClsB, self).method(arg1) >>> print("ClsB.method: %(arg1)s" % {"arg1" : arg1}) >>> >>> cls.method("test") , > ClsA.method: test ClsB.method: test ===== 参考文献 ===== [[https://note.nkmk.me/python-format-zero-hex/|Python, formatで書式変換(0埋め、指数表記、16進数など) | note.nkmk.me]]\\ [[https://qiita.com/mas9612/items/af6a3030f9ef19feae22|Python3のstr.format()メソッドのいろんな書式指定]]\\