ゼロベースのエントリ学習Python(14)形式の文字列

フォーマット文字列とは

文字列のフォーマットは、統一された仕様に従って文字列を出力することです。仕様が統一されていない場合、誤解を招く可能性があります。

format()メソッド

  • 受け入れる位置パラメータキーワードパラメータ2つのパラメータ

  • 両方が1つに渡されます置換フィールド、および置換フィールドは文字列内の{}で表されます

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
注意:位置パラメータとキーワードパラメータを組み合わせる場合、位置パラメータはキーワードパラメータの前にある必要があります。そうでない場合、エラーが報告されます。
ここに画像の説明を挿入

{}を印刷する方法は?

ここに画像の説明を挿入
次のコードが何を出力すると思いますか?

>>> '{0:.1f}{1}'.format(27.658,'GB')

ここに画像の説明を挿入

  • 置換ドメインでは、結腸:フォーマット記号の先頭を示します。.1は丸めを意味し、小数点は1つ予約されています。fは固定小数点数を出力することを意味します(固定小数点数と浮動小数点数は類似しています。つまり、小数点を出力します)。

書式設定演算子%

  • %が文字列に遭遇すると、%はその文字列専用の演算子になります

シンボル 意味
%c 文字とそのASCIIコードのフォーマット
%s フォーマット文字列
%d フォーマット整数
%The 符号なし8進数をフォーマットします
%バツ 符号なし16進数のフォーマット
%バツ 符号なし16進数をフォーマットします(大文字)
%f 浮動小数点数をフォーマットし、小数点以下の精度を指定できます
%e 科学的記数法で浮動小数点数をフォーマットする
%E %eと同じ関数で、浮動小数点数を科学的記数法でフォーマットします
%g 値に応じて%fまたは%eを使用することを決定します
%G %gと同じ効果で、値に応じて%fまたは%Eを使用します
  • %c:文字とそのASCIIコードのフォーマット

ここに画像の説明を挿入
ここに画像の説明を挿入

  • %s:フォーマット文字列

ここに画像の説明を挿入

  • %d:フォーマットされた整数

ここに画像の説明を挿入

  • %o:符号なし8進数をフォーマットします(10進数→8進数)

ここに画像の説明を挿入

  • %x:符号なし16進数をフォーマットします

  • %X:符号なし16進数をフォーマットします(大文字)

ここに画像の説明を挿入

  • %f:浮動小数点数をフォーマットします。小数点以下の精度を指定できます

ここに画像の説明を挿入

  • %e:浮動小数点数を科学的記数法でフォーマットします

  • %E:%eと同じ関数で、浮動小数点数を科学的記数法でフォーマットします

ここに画像の説明を挿入

  • %g:値に応じて%fまたは%eを使用することを決定します

  • %G:%gと同じ関数で、値に応じて%fまたは%Eを使用します

ここに画像の説明を挿入

補助コマンドのフォーマット

シンボル 意味
mn mは最小全幅、nは小数点以下の桁数です。
- 結果は左揃え
+ 正の数の前にプラス記号を表示する
8進数の前に「0o」を表示し、16進数の前に「0x」または「0X」を表示します
0 表示された数値をスペースではなく「0」で埋めます
  • mn:mは最小全幅(占有)を示し、nは小数点以下の桁数です。

ここに画像の説明を挿入
ここに画像の説明を挿入

  • -:結果は左揃えです

ここに画像の説明を挿入

  • +:正の数の前にプラス記号を表示します

ここに画像の説明を挿入

  • #:8進数の前に「0o」を表示し、16進数の前に「0x」または「0X」を表示します

ここに画像の説明を挿入
ここに画像の説明を挿入

  • 0:スペースではなく表示された数字の前に「0」を入力します

ここに画像の説明を挿入

Pythonエスケープ文字とその意味

シンボル 説明
\ ' アポストロフィ
\ " 二重引用符
\ a システムを鳴らす
\ b バックスペース
\ n 改行
\ t 水平タブ(TAB)
\ v 垂直タブ
\ r キャリッジリターン
\ f フォームフィード
\ The 8進数で表される文字
\バツ 16進数で表される文字
\ 0 ヌル文字を表します
\\ バックスラッシュ

仕事

0.次のコード行には何が出力されますか?

>>> "{
    
    {1}}".format("不打印", "打印")

{1}、{1}が説明されているため
1.次のコードでは、パラメーターa、b、およびcは何ですか。

>>> "{a} love {b}.{c}".format(a="I", b="FishC", c="com")
'I love FishC.com'

キーワードパラメータ
2。次のコードでは、パラメータ{0}、{1}、{2}は何ですか。

>>> "{0} love {1}.{2}".format("I", "FishC", "com")
'I love FishC.com'

位置パラメータ
3。Pi= 3.14を表示する場合、フォーマットする前に文字列をどのように入力する必要がありますか?

''.format('Pi = ', 3.1415)
'{0}{1:.2f}'.format('Pi = ', 3.1415)

ここに画像の説明を挿入
4. 16進変換プログラムを作成します。プログラムのデモンストレーションは次のとおりです(ヒント、10進変換バイナリはbin()このBIFを使用できます):
ここに画像の説明を挿入
直接出力すると、内部の数値は文字列として扱われます

print("十进制 -> 十六进制 :num -> '%X' % num")

ここに画像の説明を挿入
文字列と数字を別々に印刷し、end = ""で接続します。このような印刷はたくさんあります。改善できるもう1つの点は、16進数と8進数の前に「0x」と「0o」を追加することです。

while 1:
    num = input("请输入一个整数(输入Q结束程序):")
    if num != 'Q':
        num = int(num)
        print("十进制 -> 十六进制 :",end = "")
        print( num, end = '')
        print('->',end = '')
        print('%X' % num)
        print("十进制 -> 八进制 :",end = "")
        print( num, end = '')
        print('->',end = '')
        print('%o' % num)
        print("十进制 -> 二进制 :",end = "")
        print( num, end = '')
        print('->',end = '')
        print(bin(num))

ここに画像の説明を挿入
小さなカメのコードを見てください

q = True
while q:
    num = input('请输入一个整数(输入Q结束程序):')
    if num != 'Q':
        num = int(num)
        print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
        print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
        print('十进制 -> 二进制 : %d -> ' % num, bin(num))
    else:
        q = False

ここに画像の説明を挿入

0o、0xの代わりに#を使用する

q = True
while q:
    num = input('请输入一个整数(输入Q结束程序):')
    if num != 'Q':
        num = int(num)
        print('十进制 -> 十六进制 : %d -> %#x' % (num, num))
        print('十进制 -> 八进制 : %d -> %#o' % (num, num))
        print('十进制 -> 二进制 : %d -> ' % num, bin(num))
    else:
        q = False

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_44520665/article/details/113572610