python3種類の書式指定、(更にformat()と .format()は違うもの)
2019年11月の時点で、3種類の書式方法が混在している。
‘ %s ‘ % (str ) # Cとかと共通の汎用性の高い書き方だが、pythonでは廃止の方向
‘ {} ‘.format(str) #python 2.6以降で使用可能、.があるので各オブジェクトのメソッドなのだろうか
f ‘ {str} ‘ #python 3.6以降で使用可能、↑の短縮形で書きやすく読みやすくわかりやすい。
例
name=’聖徳太子’
print(‘私の名前は%sです。’ % name)
print(‘私の名前は{}です。’.format(name))
print(f’私の名前は{name}です。’)
3つとも結果は
私の名前は聖徳太子です。
1 %書式指定
いずれ廃止の方向なので、これから学習する人は無理して使う必要はない
2 format
format()と .format()はぜんぜん違うものです。
format()は組み込み関数
print(format(69632,’0>8x’) ) # 数字を8桁の16進数
#00011000
.format()はメソッド
文字列を作るformatは .formatのメソッドの方です
‘文字列’.format()の場合は、strクラスの中で定義されている、文字列専用のメソッドです。
int.format()であれば、intクラス内で別途定義されています。
使い方は、マニュアルを見て覚えていくということでしょう。
bun=’なむあみだぶつ’
print(‘無心で唱える{}’.format(bun))
3 フォーマット済み文字列リテラル
f’{}’
formatメソッドを使った文字列の書式設定
Python 2.6 から文字列型に format メソッドが追加され、書式化演算子 % を使用するよりもより高機能な書式設定が行えるようになりました。ここでは文字列型の format メソッドを使って文字列の書式設定を行う方法について解説...
コメント