Pythonの文字列フォーマットは、正しく印刷する方法を教えてくれます:D

フォーマット文字を使用する%

ここに画像の説明を挿入

    %演算子は、文字列のフォーマットに使用されます。文字列内で、%sは文字列に置き換えることを意味し、%dは整数に置き換えることを意味し、いくつかの%?プレースホルダーがあり、その後にいくつかの変数または値が続きます。順序は1対1で対応する必要があります。%?が1つしかない場合は、括弧を省略できます。%を表すには%%を使用します

栗を持ち上げる

>>> print('%s'%'hello world')
hello world
>>> print('%s%s'%('hello','hi'))
hellohi
>>> print('%s,%s'%('hello','hi'))
hello,hi

サブデータ型の説明

ストリング

%s文字列
%20sを右揃えで直接出力し、20桁を取ります。十分でない場合は、補数を
%-20s左揃えにします。十分でない場合は、20を取り、補数は
%.2s2桁の文字列
%20.2s20桁のプレースホルダーインターセプトします。2桁の文字列が傍受されます

>>> print('%s' % 'hello world')
hello world
>>> print('%20s' % 'hello world')
         hello world
>>> print('%-20s' % 'hello world')
hello world         
>>> print('%020s' % 'hello world')
         hello world
>>> print('%.2s' % 'hello world')
he
>>> print('%20.2s' % 'hello world')
                  he
>>> print('%-20.2s' % 'hello world')
he                  
>>> 

整数

%o
%d10
%x進数の10進数の16数16進数は右寄せ
%10d、10桁、不十分な場合は
%-10d左揃え、10桁、不十分な場合は
%010d右揃え、10桁、足りない
%-010d場合は、
%+010d左揃えで10桁を取るか、足りない場合は0(0は表示されません)になります。右揃えで正符号を表示し、足りない場合は10桁にします。 、左揃えに0を追加し
%-+010d、正の符号を表示し、10桁を取り、0を入力します(0は表示されません)

>>> print('%d'% 1234)
1234
>>> print('%o'% 1234)
2322
>>> print('%x'% 1234)
4d2
>>> print('%10d'% 1234)
      1234
>>> print('%-10d'% 1234)
1234      
>>> print('%010d'% 1234)
0000001234
>>> print('%-010d'% 1234)
1234 
>>> print('%-+010d'% 1234)
+1234     
>>> print('%+010d'% 1234)
+000001234
>>> print('%-+010.5d'% 1234)
+01234    
>>> print('%-+010.6d'% 1234)
+001234   
>>> print('%+010.6d'% 1234)
+000001234

浮動小数点

%f小数点以下6桁の有効数字を維持し、
%.3f3小数点以下の桁数を保持する、
%e小数点以下6桁の有効数字を保持し、そして
%.3e3つの小数点を保持指数出力、科学的表記法を使用し
%g、6桁の有効数字を確保する前提として、小数の方法を使用それ以外の場合は、科学的カウント方法
%.3gを使用して、小数点または科学的記数法を使用して有効数字3桁を保持します

>>> print('%f' % 1.11)          # 默认保留6位小数
1.110000
>>> print('%.1f' % 1.11)        # 取1位小数
1.1
>>> print('%e' % 1.11)          # 默认6位小数,用科学计数法
1.110000e+00
>>> print('%.3e' % 1.11)        # 取3位小数,用科学计数法
1.110e+00
>>> print('%g' % 1111.1111)     # 默认6位有效数字
1111.11
>>> print('%.7g' % 1111.1111)   # 取7位有效数字
1111.111
>>> print('%.2g' % 1111.1111)   # 取2位有效数字,自动转换为科学计数法
1.1e+03

フォーマット

formatこのメソッドが行うことは、パラメーター値をフォーマットが配置されている場所に置き換えることです。

print('{} was {} years old when he wrote this book'.format(name, age))
  1. 番号なし、{}
  2. デジタル番号を使用すると、順序を変更できます{1}、{2}
  3. キーワード、{a}、{b}
>>> print('{} was {} years old when he wrote this book'.format('name', 'age'))
name was age years old when he wrote this book
>>> print('{0} was {1} years old when he wrote this book'.format('name', 'age'))
name was age years old when he wrote this book
>>> print('{1} was {0} years old when he wrote this book'.format('name', 'age'))
age was name years old when he wrote this book

より詳細なフォーマットもあります

# 对于浮点数 '0.333' 保留小数点(.)后三位
print('{0:.3f}'.format(1.0/3))
# 使用下划线填充文本,并保持文字处于中间位置
# 使用 (^) 定义 '___hello___'字符串长度为 11
print('{0:_^11}'.format('hello'))
# 基于关键词输出 'Swaroop wrote A Byte of Python'  
print('{name} wrote {book}'.format(name='Swaroop', book='A Byte of Python'))

ここに画像の説明を挿入
パラメータシーケンス番号に加えて、テンプレート文字列スロットにはフォーマット制御情報を含めることもできます {<参数序号>: <格式控制标记>}

フォーマット制御タグには、<填充><对齐><宽度>,<.精度><类型>6つのフィールドが含まれます。

ここに画像の説明を挿入
<宽度>現在のスロットの設定された出力幅を参照します。
実際のformat()パラメータの実際の幅が設定よりも大きい場合<宽度>は、
パラメータの実際の長さを使用します。パラメータの実際の幅が設定よりも小さい場合<宽度>、余分な桁はデフォルトでスペースで埋められ、塗りつぶし記号が表示されます。設定することもできます

>>> print("{0:*>30}".format('hello'))   # 30个字符,右对齐,左边补空格
*************************hello
>>> print("{0:*^30}".format('hello'))   # 30个字符,居中对齐,两边补*
************hello*************
>>> print("{0:*<30}".format('hello'))   # 30个字符,左对齐,右边补*
hello*************************
>>> print("{0:3}".format('hello'))      # 长度小于实际字符数,按实际输出
hello
>>> 

<.精度>2つの意味を示します。
浮動小数点数の場合、精度は小数部の出力部分の有効桁数を
表します文字列の場合は、出力の最大長を表します

>>> print("{0:.2f}".format(12345.67890))      # 保留2位小数
12345.68
>>> print("{0:*^20.2f}".format(12345.67890))  # 20个字符长度,居中对齐,两边补*,保留两位小数
******12345.68******
>>> print("{0:.4}".format("hello"))           # 输出4个字符
hell

浮点数类型
e小文字eの指数形式
E大文字がE形成指数関数
fの標準形
%フロートの割合を

>>> print("{0:e},{0:E},{0:f},{0:%}".format(123.456))
1.234560e+02,1.234560E+02,123.456000,12345.600000%
>>> print("{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(123.456))
1.23e+02,1.23E+02,123.46,12345.60%

印刷には注意を払う必要があります

print常に非表示の「改行」文字(\n)で終わるため、printを繰り返し呼び出すと、別々の行に印刷されます。印刷中にこの改行文字が表示されないようにするにendは、空白で終了するように指定できます。

print('a', end='')
print('b', end='')

出力

ab

エスケープ文字

バックスラッシュ文字\は、文字列内のエスケープを表す特殊文字です。つまり、文字と次の隣接する文字が新しい意味を形成します。
\n改行を\\表し、円記号を\’表し、一重引用符を
\”表し、二重引用符を\t表し、タブ文字を表しますTab

ここに画像の説明を挿入

>>> print("hello\nworld\t世界你好")
hello
world	世界你好

おすすめ

転載: blog.csdn.net/weixin_39333120/article/details/109380409