python:language_memo

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)
>>> 
  1. time.strptime にて struct_time に変換。
  2. struct_time をスライス。
  3. 年月日のタプルに * を付けて、位置指定型の引数として 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
  • python/language_memo.txt
  • 最終更新: 2019/08/19 07:01
  • by ともやん