Python3 での印刷の使用法

目次

1: 印刷構文

2: 終了パラメータの終了の使用法を出力します。

3: 印刷区切りパラメータ sep の使用法

4: 固定幅文字出力を印刷する


1: 印刷構文

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

パラメータの説明:         

「objects」: 印刷するオブジェクト。「file パラメータ」で指定されたテキスト ストリームに印刷されます。ほとんどの場合、このパラメータのみが使用されます。

 "sep": "sep" で区切られます。

"end": 出力後に "end" パラメータで終了します。

"file": 出力をファイルに出力します。file は write(string) メソッドを持つオブジェクトである必要があります。引数が存在しないか None の場合は、sys.stdout が使用されます。print() は、出力される引数がテキスト文字列に変換されるため、バイナリ モードのファイル オブジェクトでは使用できません。これらのオブジェクトの場合は、代わりに file.write(...) を使用する必要があります。通常、出力がキャッシュされるかどうかはファイルによって異なります。

"flush": flash キーワード引数が True の場合、出力ストリームは強制的にフラッシュされます。

        「sep」、「end」、「file」、および「flush」をキーワード引数として指定する必要があります。flash キーワード パラメータは、phthon のバージョン 3.3 以降に追加されました。

>>> print("my name is ftz ",sep=' ',end='end结尾\n')
my name is ftz end结尾
>>>
>>> logFile = open("logfile.txt",'w')
>>> print("my name is ftz ",sep=' ',end='end结尾\n',file=logFile)

3 回実行されます。デフォルトでは追加されます。 

[root]$ cat logfile.txt
my name is ftz end结尾
my name is ftz end结尾
my name is ftz end结尾

2: 終了パラメータの終了の使用法を出力します。

印刷 print はデフォルトで改行です。これは、end パラメータがデフォルトで '\n' であるためです。各印刷の最後にカスタム記号を追加したい場合は、end パラメータを使用できます。例: "end print()関数のパラメータは「|」を指定します。つまり、print()関数の各出力が完了した後、最後に「|」が出力されます。

>>> print("默认换行")
默认换行
>>> print("不换行打印",end="")
不换行打印>>>
>>> print("以竖线结尾打印",end="|\n")
以竖线结尾打印|
>>>

3: 印刷区切りパラメータ sep の使用法

sep パラメータは一般にあまり使用されませんが、特殊なシナリオでは役立ちます。たとえば、URL は「.」で区切られ、パスは「/」で区切られ、IP アドレスは特定の文字で区切られます。使用

>>> print('192','168','1','1',sep='.')
192.168.1.1
>>>
>>> print('www','baidu','com',sep='.')
www.baidu.com
>>>
>>> print("F:",'file','work',sep='/')
F:/file/work
>>>

4: 固定幅文字出力を印刷する

        一連の結果を出力したいが、途中の文字が固定されていない場合、通常の出力だと混乱が生じて見栄えも良くありませんが、printを使用すると文字幅と左右を固定して出力できます。アライメント

たとえば、次の出力は

学生总数=22              学生名字重复数=29   
学生总数=54              学生名字重复数=58   
学生总数=455             学生名字重复数=287  
学生总数=455             学生名字重复数=287  
学生总数=2884            学生名字重复数=1579 
学生总数=427             学生名字重复数=207  
学生总数=1011            学生名字重复数=67   
学生总数=427             学生名字重复数=208  
学生总数=427             学生名字重复数=103  
学生总数=2276            学生名字重复数=417  
学生总数=0               学生名字重复数=0    
学生总数=52              学生名字重复数=0    
学生总数=52              学生名字重复数=0    
学生总数=1522            学生名字重复数=1303 
学生总数=0               学生名字重复数=0    
学生总数=1558            学生名字重复数=1143 
学生总数=454             学生名字重复数=286  
学生总数=4               学生名字重复数=0    
学生总数=11              学生名字重复数=12   

まず文字幅について説明します。これは、出力内の各文字が占める幅を指します。デフォルトでは、各文字の幅は同じです。ただし、場合によっては、視覚効果を高めるために、出力内の文字の幅を変更したいことがあります。たとえば、データを整列させるために同じ幅の列を含むテーブルを出力したい場合があります。

 アライメントコードの例は次のとおりです。

print(f"学生总数={student:<15} 学生名字重复数={count:<20}")

左揃えを指定するには「<」記号を使用しました。右揃えにしたい場合は「>」記号を使用します。

上記の方法を使用して表形式を出力することもできます。

data = [
    ["Alice", 25, "Female"],
    ["Bob", 30, "Male"],
    ["Charlie", 35, "Male"]
]

# 计算每列的最大宽度
max_widths = [max(len(str(row[i])) for row in data) for i in range(len(data[0]))]

# 输出表头
header = ["Name", "Age", "Gender"]
header_format = " | ".join(f"{
   
   {:<{width}s}}" for width in max_widths)
print(header_format.format(*header))
print("-" * sum(max_widths))

# 输出数据
for row in data:
    row_format = " | ".join(f"{
   
   {:<{width}}}" for width in max_widths)
    print(row_format.format(*row))

出力結果:

f 印刷は Python 3.6 で導入されました。以前のバージョンでは固定幅文字出力もサポートされており、指定された文字幅は文字列書式設定メソッドを使用して出力されます。文字列の書式設定メソッドは、文字列内のプレースホルダーを使用して実装されます。一般的に使用されるプレースホルダーは「%s」と「%d」で、それぞれ文字列と整数の書式設定に使用されます。

data = [
    ["Alice", 25],
    ["Bob", 30],
    ["Charlie", 35]
]


# 输出数据
for row in data:
    print("Name: %-10s Age: %d" % (row[0], row[1]))

形式 16 進形式の文字

フォーマット文字 急行
{:s}
{:d} 10進整数
{:f} 浮動小数点
{:c} 文字タイプ
{:u} 符号なし 10 進整数
{:o} 8進数
{:バツ} 16進数
{:e} 科学的表記法

 以下は、フォーマットに使用される一般的なフォーマット文字です。

フォーマット文字 急行
{:.2f} 小数点以下 2 桁
{:+.2f} 小数点以下 2 桁を保持し、符号を付けます
{:0>2d} 左側にゼロパディングがあり、全体で 2 文字を占めます
{:0<2d} 右側にゼロパディングがあり、全体として 2 文字を占めます
{:*<4d} 右側にアスタリスクが追加され、全体で 4 文字になります。
{:5d} 右揃え、全体で 5 文字を占めます
{:<5d} 左揃え、全体で5文字
{:^5d} 中央揃え、全体で 5 文字を占めます
{:.2e} 小数点以下 2 桁の科学表記法
{:,} カンマで区切られた数字

 

おすすめ

転載: blog.csdn.net/qq_27071221/article/details/132380575