強力な新機能をフォーマット3.11 Python文字列:フォーマット形式制御文字列の書式

オリジナルリンク: http://www.cnblogs.com/LaoYuanPython/p/11087732.html

                                            セクション3.11形式フォーマットされた文字列形式の制御
I.はじめ
上部セクションは、文字列形式にフォーマット4つの方法を記載しているが、唯一の真の値と位置のマッピングフォーマット区切りとの関係を説明し、そのような幅を記載していませんアライメント、表示内容の形式を制御するために、各実値の精度管理。このセクションでは、フォーマットされた文字列の形式を制御する方法について説明し、このフォーマットの制御要素は、フォーマットの「書式指定」形式と呼ばれています。
(また、「置換フィールド」、「変換指定」と呼ぶ)は、前のセクション「フォーマット文字」に記載され、その出力形式を制御するように設計されたサブフォーマット指定文字列の形式です。

第二に、コンテンツフォーマッタ
書式文字列形式で、括弧内のコンテンツ「指定子」(ブレースがプレースホルダである)、及び以下の組成で:
指定子:!{[フィールド名] [変換フラグ] :形式指定子]}
1フィールド名:インデックスまたは識別子は、(すなわち、インデックス)、真の値を示す変数、変数の属性、変数[インデックス]、] [キー変数は、設定すべきデジタルことと結果を使用することができます。フィールドを交換します。ケース部分を参照してください。
2.スイッチフラグ:単一の文字が感嘆符を行いました。R&LT現在文字(示さのrepr)、S(発現STR)及び(発現ASCII)をサポートします。あなたは、変換フラグを指定した場合、フォーマット機構オブジェクトそのものではなく、オブジェクトを文字列に変換するために指定された関数の使用を使用していない、さらに書式設定を行います。3つのフラグ(S、R及びA)STR、のreprとASCII変換を使用して指定されます。S =「20190301クラス暁明の学生、ニックネーム:暁明、合計:597.5」という文字列のテストに:約3種類、古い猿なしの深い研究、我々はになってきた
1)ASCII(S)出力:で二重引用符コード文字列
「「20190301 \\ u73ed \\ u5c0f \\ u660e \\ u540c \\ u5b66、\\ u5c0f \\ u540d \\ uff1a \\ u5c0f \\ u660e \\ uff0c \\ u603b \\ u5206:597.5 ' "
2)のrepr(S)出力:元の二重引用符で囲まれた前の入力
"' 20190301人の暁クラスの学生、ニックネーム:暁、合計:597.5 ''
3)STR(S)Sの値と同じ。
STR関数は、通常、通常のバージョン文字列の出現を(入力文字列のいずれかの処理を実行していない)を作成します。REPR機能はPythonの表現の与えられた値を作成しようとします(ここでは、文字列リテラル、古い猿は一時的にこの文を理解していない、メモリの内容は、Pythonで文字列に格納することができます?)。表現はASCII文字のみが含まれている機能のASCIIを作成します(古い猿の文字が理解されていないが、ダブルバイトのコーディングを示すために、ASCIIコードを変換することです)。

3.書式指定子は:コロンの後にミニチュア形式の言語表現を指定します。米国形式指定子フォーマットタイプ(例えば、文字列、浮動小数点、または16進数)、及びどのシンボル千セパレータを表示するフィールド幅精度、及び数、及び種々のを含む、最終的なフォーマットの詳細を指定でき整列および充填モード。
構文:[フィラー]アラインメント] [シンボル] [#] [0] [幅] [グループ化オプション] [精度] [タイプ]
1)全てのフォーマット指定フィールドはオプションであり、
2)フィラー:任意の文字することができ、それは充填剤と短いパディングの幅よりも長く設定幅の内容を表示する;
3)アライメントは:「<」記号が左を示し、「>」右揃えを表し、「^」は「中心とします=「フィラー、フィラーが指定されていない場合、デフォルトのパディング(スペース)を加えたシンボルと符号の間に署名されたデジタルアライメントに使用されるが、フロント番号0,0の幅はデフォルトを置き換えた場合にされていますフィラー。
等号デジタルアライメント例について:
'{。} 9 = +。'フォーマット(12345)#結果: '12345 +'
'{。}。フォーマット(12345)#結果:「09 = + + 00012345 '
' {。} * = + 09 '形式(12345)#結果:' 12345 + *** '
4)シンボル:デジタルに対してのみ、 "+"の数は、正負を表すプラス前「 - 」デフォルトモードで唯一のマイナス、プラスマイナスの符号を示し、スペースが負の数の前に正の数の前のスペース、プラスマイナス記号を表し、
5)#:適応症「代替」文字列に変換。このオプションは、利用可能な唯一の整数、浮動小数点数、複素数型とdecimal型です。整数を、2進数、8進数または16進数の出力を使用して、このオプションは、「0B」、「0°」または「0X」が出力値に加算されるプレフィックスを付加します。浮動小数点数、複素数と小数の場合は、別の形態は、(背後には番号があっても)常に小数点文字を含まない変換結果につながります。さらに、「G」及び「G」変換では、後続のゼロが結果から除去されません。
6)0:フィラーを指定しない場合、「0」の数字の幅の前に存在する場合、「0」は、デフォルトのパディングを置き換え;
7)幅:実際の出力が幅よりも大きい場合、データ出力は、実際の幅を占有このときの出力の幅は全く影響整列およびパディングを持っていない;
8)グループオプション:デジタルのために「」オプションは、コンマが桁区切り記号として使用され表します。「_」オプションは、浮動小数点および下線付き桁区切りの整数表現型「D」の種類を示します。整数型「B」、「O」、のために 「X」 と「X」、すべての4つ挿入強調する。他のタイプの場合、このオプションは、指定されたエラーである;
9)精度:「F」と「F」のフォーマットの単精度浮動小数点値、および表示される桁数を小数点以下を示し、「G」又は「G」のフォーマット浮動小数点値は、小数点の前後の桁数が表示されるべきです。非数値タイプの場合、最大フィールドサイズを示すフィールドは、 -換言すれば、精度は、直接切片長の前に、文字列の文字列の長さ未満です。整数値は、精度を可能にしました。精度の前に少し注意します。
10)入力:の説明種類真値
型が意味
進数として表さB整数
整数Unicodeコードポイントとして解釈C
デフォルトシンボル整数用いて説明したD 10進整数の処理であるため、
に電子を使用科学的表記法を画分を表す(指数eで表されます)
E Eと同じ、しかしEとで表される指数
fは固定小数点であり、
Fと同じF、しかし特別な値(のNaN 3及びINF)のために、大文字は表し
、G自動的に固定小数点表記と表現の間で選択するための科学的方法。少なくとも1つの分数既定の10進数のデフォルト、
G及びGは同じであるが、指数と特別な値を表すために資本の使用
Nおよびdは同じであるが、領域固有の番号を有するインサートセパレータ
進として表さO整数を
sが指定文字列のデフォルトであり、不変の文字列形式のままで
、xは整数進小文字と表し、
Xをその大文字を除いて、Xと同じである
%は(数のパーセント値として表現しましたFフォーマット指定に従って、100を乗じ、次いで%が続く)
によってDによるS的、デジタル的にどれが何種類が指定されていない、文字列、Gフローティング方法
3人のフォーマッタ例えば
'{=学生名前':'ボブ''クラス':' 20190301 ''スコア':597.5}
1. S1 = {ST [クラス]}クラス{ST [名前]:_> 4} 合計:{ST [スコア]:0> + 6.1f} '形式(ST =学生)。
結果:S1 =' 20190301禁止__暁アウト:597.5 [
2. S2 = {ST [クラス ]} クラス{ST [名前] R :! _> 4} 合計:{ST [スコア]:0 > + 6.1f}」形式(ST =学生)。
名変換を指定標識されたR、実行結果:S2 = "20190301禁止'ボブ'の合計:597.5"
3. S3 = F「スチューデント{[ 'classno']}クラス{学生[ '名前']: _> 4} アウト:{学生[「スコア」] :0> + 6.1f} "
結果:『20190301禁止__暁明アウト:597.5』、辞書のキーノートで、ここで一重引用符を追加しました。
4. {*> +# 10 _}」形式(123456)#1。 結果'** + 123_456'
5 '{*> +#10_b}'形式(123456)#結果'+ 0b1_1110_0010_0100_0000'。
6. '{*> +# 10_o}'形式(123456)#1。 結果'+ 0o36_1100
7' {*> *} + +#10_x 0x1_e240 ''形式(123456)#結果。 '

上記の例では、我々が管理分析の前で自分自身を説明し、追加的な説明ではありません。

このセクションでは、フォーマット文字列のフォーマット文字と各部分の意味の構図を詳述、および例は、より多くのコンテンツは、容易ではない、私たちが最初に理解してみましょう、覚えて実際の使用に関する特定の情報クイックフォーマットを実行するように記述されていますそれは。:最後に、機能に関連付けられているいくつかのモジュール列定数と文字列の紹介を追加
string.digits:0から9の数字の文字列を含んでいます。
string.ascii_letters:すべてのASCII文字(大文字と小文字)を含む文字列。
string.ascii_lowercase:すべて小文字のASCII文字列が含まれます。
string.printable:すべての印刷可能なASCII文字を含む文字列。
string.punctuation:すべてのASCIIの句読点文字を含む文字列。
string.ascii_uppercase:すべて大文字のASCII文字列が含まれています。ASCII文字が、その値は実際にはUnicode文字列をデコードされていません。
スプリット9月Sに応じて分割を用いstring.capwords(S [09月])、最初の文字のそれぞれのような、その後、それらを組み合わせた区切りSPLITを大文字:
string.capwords(S、 '/')
' / usr /ヴァール/ Tempdirectory "
このセクションでは、6つの総含有量の文字列の内容を説明するまで、基本的に全体の導入に関連した内容の文字列が終わって、私たちはよく理解している願っています。


このセクションのとおり、導入上のPythonのデータ型の基本は終了しました。古い猿の周りのこの時間は、毎日少なくとも一つのブログを書くことで、この記事で後述する発電機、イテレータを準備し、早期に学習上の知識ベースの内容に基づいて整理し、そのリストの内包の一部も綿密な調査と背後に、要約されています更新が遅くなりますが、個人的にこれらのコンテンツは、高度なコンテンツデータのタイプに属するの後ろ、導入された新しい章を開くだろうと思いながら、少なくとも、コンテンツの毎週の更新を保証します。

    旧猿のPython(https://blog.csdn.net/LaoYuanPython Pythonプログラマとは接触を助けていない古い猿の学習Pythonの学習経験の漸進的な導入の概要についての記事)シリーズは、簡単にはPythonを入力することができます世界。 
    批判を歓迎し、あなたの注意をありがとう!

ます。https://www.cnblogs.com/LaoYuanPython/p/11087732.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_30642561/article/details/95152405