Python-出力フォーマット
プログラムの出力を表示する方法はいくつかあります。データは人間が読める形式で印刷したり、将来使用するためにファイルに書き込んだりすることができます。ユーザーは、スペースで区切られた値を単に印刷するよりも、出力のフォーマットをより細かく制御したい場合がよくあります。出力をフォーマットする方法はいくつかあります。
- フォーマットされた文字列リテラルを使用するには、開始引用符または三重引用符の前にfまたはFで文字列を開始します。
- 文字列のstr.format()メソッドは、ユーザーがより優れた出力を取得するのに役立ちます
- ユーザーは、文字列のスライスおよび連結操作を使用して、ユーザーが希望する任意のレイアウトを作成することにより、すべての文字列処理を実行できます。文字列型には、特定の列幅に文字列をパディングするための便利な操作を実行するいくつかのメソッドがあります。
文字列モジュロ演算子(%)を使用した出力のフォーマット
%演算子は、文字列の書式設定にも使用できます。左の引数は、右の引数に適用されるprintf()スタイルのフォーマット文字列のように解釈されます。
例
# string modulo operator(%) to print # print integer and float value print("Vishesh : % 2d, Portal : % 5.2f" %(1, 05.333)) # print integer value print("Total students : % 3d, Boys : % 2d" %(240, 120)) # print octal value print("% 7.3o"% (25)) # print exponential value print("% 10.3E"% (356.08977))
出力
Vishesh : 1, Portal : 5.33 Total students : 240, Boys : 120 031 3.561E+02
formatメソッドを使用した出力のフォーマット
format()メソッドがPython(2.6)で追加されました。文字列のフォーマット方法は、より手作業が必要です。ユーザーは{}を使用して、変数が置換される場所をマークし、詳細なフォーマットディレクティブを提供できますが、フォーマットする情報も提供する必要があります。
例
# show format () is used in dictionary tab = {'Vishesh': 4127, 'for': 4098, 'python': 8637678} # using format() in dictionary print('Vishesh: {0[vishesh]:d}; For: {0[for]:d}; ' 'python: {0[python]:d}'.format(tab)) data = dict(fun ="VisheshforPython", adj ="Python") # using format() in dictionary print("I love {fun} computer {adj}".format(**data))
文字列メソッドを使用した出力のフォーマット
この出力では、文字列のスライスと連結操作を使用してフォーマットされています。
例
# format a output using string() method cstr = "I love python" # Printing the center aligned # string with fillchr print ("Center aligned string with fillchr: ") print (cstr.center(40, '$')) # Printing the left aligned string with "-" padding print ("The left aligned string is : ") print (cstr.ljust(40, '-')) # Printing the right aligned string with "-" padding print ("The right aligned string is : ") print (cstr.rjust(40, '-'))
出力
Center aligned string with fillchr: $$$$$$$$$$$$$I love python$$$$$$$$$$$$$$ The left aligned string is : I love python--------------------------- The right aligned string is : ---------------------------I love python
-
Pythonで連結文字列を印刷するにはどうすればよいですか?
文字列とともに使用する場合、プラス(+)は連結演算子として定義されます。最初の文字列に2番目の文字列を追加します。 >>> s1 = TutorialsPoint >>> s2 = Hyderabad >>> print (s1+s2) TutorialsPoint Hyderabad
-
Pythonの文字列がASCIIであるかどうかを確認するにはどうすればよいですか?
最も簡単な方法は、文字列の文字をループして、各文字がASCIIであるかどうかを確認することです。 例 def is_ascii(s): return all(ord(c) < 128 for c in s) print is_ascii('ӓmsterdӒm') 出力 これにより出力が得られます: False しかし、この方法は非常に非効率的です。より良い方法は、str.decode(ascii)を使用して文字列をデコードし、例外をチェックすることです。 例 mystring = 'ӓmsterdӓm' try: