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", "<br />")
分割
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") <super: <class 'ClsB'>, <ClsB object>> ClsA.method: test ClsB.method: test