Python |出力フォーマット

プログラムの出力を表示する方法はいくつかあります。データは、人間が読める形式で表示することも、将来使用するためにファイルに書き込むこともできます。ユーザーは、スペースで区切られた値を単純に出力するよりも、出力の書式設定をもっと制御したいことがよくあります。出力をフォーマットする方法はいくつかあります。 文字列モジュロ演算子(%)を使用した出力のフォーマット %演算子は文字列のフォーマットにも使用できます。これは、左の引数を、右の引数に適用されるprintf()形式のフォーマット文字列と非常によく似ています。 Pythonにはprintf()関数はありませんが、古代のprintfの機能はPythonに含まれています。この目的のために、モジュロ演算子%は、文字列フォーマットによって文字列フォーマットを実行するためにオーバーロードされます。したがって、それはしばしば文字列モジュロ(または時々モジュラスとも呼ばれる)演算子と呼ばれます。 文字列モジュロ演算子(%)はPython(3.x)でもまだ利用可能であり、ユーザーはそれを広く使用しています。しかし今日では、古いスタイルのフォーマットは言語から削除されています。

🐶Pythonコードの例を示すで

# Python program showing how to use
# string modulo operator(%) to print
# fancier output

# print integer and float value
print("codes : % 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))

🐶動画で動作確認してみよか?

動画で確認

この例には2つあります。“%2d”と“%5.2f”です。フォーマットプレースホルダーの一般的な構文は次のとおりです。 この例のプレースホルダーを見てみましょう。

formatメソッドを使って出力をフォーマットする:

format()メソッドはPython(2.6)で追加されました。文字列のフォーマット方法はより多くの手作業を必要とします。

ユーザーは{}を使用して、変数が置換される場所をマークし、詳細なフォーマットディレクティブを提供できますが、ユーザーはフォーマットする情報も提供する必要があります。

このメソッドを使用すると、位置フォーマットを使用して出力内の要素を連結できます。

🐶Pythonコードの例を示すで

# Python program showing  
# use of format() method

# using format() method
print('I love {} for "{}!"'.format('codes', 'codes'))

# using format() method and refering  
# a position of the object
print('{0} and {1}'.format('codes', 'Portal'))

print('{1} and {0}'.format('codes', 'Portal'))

🐶動画で動作確認してみよか?

動画で確認

[]とその中の文字(フォーマットフィールドと呼ばれる)は、format()メソッドに渡されるオブジェクトに置き換えられます。 角カッコ内の数字は、format()メソッドに渡されるオブジェクトの位置を参照するために使用できます。

コード2

🐶Pythonコードの例を示すで

# Python program showing  
# a use of format() method

# combining positional and keyword arguments
print('Number one portal is {0}, {1}, and {other}.'
     .format('codes', 'For', other ='codes'))

# using format() method with number  
print("codes :{0:2d}, Portal :{1:8.2f}".
      format(12, 00.546))

# Changing positional argument
print("Second argument: {1:3d}, first one: {0:7.2f}".
      format(47.42, 11))

print("codes: {a:5d},  Portal: {p:8.2f}".
     format(a = 453, p = 59.058))

🐶動画で動作確認してみよか?

動画で確認

🐶Pythonコードの例を示すで

# Python program to  
# show format () is  
# used in dictionary

tab = {'codes': 4127, 'for': 4098, 'code': 8637678}

# using format() in dictionary
print('codes: {0[codes]:d}; For: {0[for]:d}; '
    'codes: {0[code]:d}'.format(tab))

data = dict(fun ="coderecipe", adj ="Portal")

# using format() in dictionary
print("I love {fun} computer {adj}".format(**data))

🐶動画で動作確認してみよか?

動画で確認

Stringメソッドを使用して出力をフォーマットする

文字列スライスと連結操作を使用してフォーマットされています。

文字列型には、より見やすい方法で出力をフォーマットするのに役立ついくつかのメソッドがあります。

出力を整形するのに役立つメソッドのいくつかはstr.ljust()str.rjust()str.centre()です。

🐶Pythonコードの例を示すで

# Python program to
# format a output using
# string() method

cstr = "I love coderecipe"

# 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 (lstr.ljust(40, '-'))

# Printing the right aligned string  
# with "-" padding   
print ("The right aligned string is : ")  
print (rstr.rjust(40, '-'))

動画で確認

🐶Pythonの文字列の整形はまだまだ種類があるで 🐍奥が深い

Last Updated: 5/19/2019, 3:41:22 PM