print(... sep='', '\t' 的意思是什么?

26 投票
4 回答
180700 浏览
提问于 2025-04-17 20:25

我在找这个问题的答案时遇到了一些困难。我想知道 sep=""\t 这两个语法是什么意思。我找到了一些相关的信息,但我不太明白使用这些语法的目的是什么。我想要一个关于它们的作用,以及在什么情况下和为什么会使用它的解释。

下面是一个使用 sep='' 的例子:

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

4 个回答

1

sep='\t' 通常用来表示以制表符(Tab)分隔的文件。

1

sep='' 是用来忽略空格的。看看代码就明白了。如果没有 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

使用 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
49

sep='' 在函数调用中表示将名为 sep 的参数设置为空字符串。你可以查看 print() 函数 的说明;sep 是用来在打印多个值时作为分隔符的。默认情况下,它是一个空格(sep=' '),这个函数调用确保在 Property tax: $ 和格式化后的 tax 浮点值之间没有空格。

你可以比较以下三个 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

撰写回答