web-dev-qa-db-ja.com

print(... sep = ''、 '\ t')はどういう意味ですか?

これに対する答えを見つけようとして少し苦労しています。構文sep=""および\t 手段。私はそれについていくつかの情報を見つけましたが、構文を使用する目的が何であるかをよく理解していませんでした。私はそれが何をするのか、いつ/なぜそれを使うのかの説明を探しています。

の例 sep='' 使用されています:

print('Property tax: $', format(tax, ',.2f'), sep='') 
14
krona

関数呼び出しのコンテキストで_sep=''_は、名前付き引数sepを空の文字列に設定します。 print() function ;をご覧ください。 sepは、印刷時に複数の値の間で使用される区切り文字です。デフォルトはスペース(_sep=' '_)です。この関数呼び出しは、_Property tax: $_とフォーマットされたtax浮動小数点値の間にスペースがないことを確認します。

次の3つのprint()呼び出しの出力を比較して、違いを確認します

_>>> print('foo', 'bar')
foo bar
>>> print('foo', 'bar', sep='')
foobar
>>> print('foo', 'bar', sep=' -> ')
foo -> bar
_

変更されたのは、sep引数値のみです。

_\t_文字列リテラルタブ文字、水平空白、ASCIIコードポイントのエスケープシーケンスです9

_\t_は、実際のタブ文字より読みやすく、入力しやすいです。文字列リテラルについては、 認識されるエスケープシーケンスのテーブル を参照してください。

印刷セパレータとしてスペースまたは_\t_タブを使用すると、違いが示されます。

_>>> print('eggs', 'ham')
eggs ham
>>> print('eggs', 'ham', sep='\t')
eggs    ham
_
30
Martijn Pieters

sep='' whitespaceを無視します。理解するコードを参照してください。sep=''なし

from itertools import permutations
s,k = input().split()
for i in list(permutations(sorted(s), int(k))):
    print(*i)

出力:

HACK 2
A C
A H
A K
C A
C H
C K
H A
H C
H K
K A
K C
K H

using sep=''コードと出力。

from itertools import permutations
s,k = input().split()
for i in list(permutations(sorted(s), int(k))):
    print(*i,sep='')

出力:

HACK 2
AC
AH
AK
CA
CH
CK
HA
HC
HK
KA
KC
KH
0
Nazmul Hossain