【问题标题】:What does print(... sep='', '\t' ) mean?print(... sep='', '\t' ) 是什么意思?
【发布时间】:2014-04-02 17:07:46
【问题描述】:

我在试图找到这个问题的答案时遇到了一些麻烦。我想知道sep=""\t 的语法是什么意思。我找到了一些关于它的信息,但我不太明白使用语法的目的是什么。我正在寻找关于它的作用以及何时/为什么使用它的解释。

sep='' 的使用示例:

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

【问题讨论】:

    标签: python python-3.x syntax separator


    【解决方案1】:

    sep='' 在函数调用的上下文中将命名参数sep 设置为空字符串。见print() functionsep 是打印时在多个值之间使用的分隔符。默认是空格(sep=' '),这个函数调用确保Property tax: $和格式化的tax浮点值之间没有空格。

    比较以下三个print() 调用的输出,看看区别

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

    所有改变的是 sep 参数值。

    \t 在字符串中tab character, horizontal whitespace, ASCII codepoint 9的转义序列。

    \t 比实际的制表符更易于阅读和键入。有关字符串文字,请参阅 table of recognized escape sequences

    使用空格或\t 制表符作为打印分隔符显示了区别:

    >>> print('eggs', 'ham')
    eggs ham
    >>> print('eggs', 'ham', sep='\t')
    eggs    ham
    

    【讨论】:

    • print('Property tax: $', format(tax, ',.2f'), sep='') 将是其中使用的一行代码的示例。
    • @krona:sep=''sep"" 不同。见print() function documenation;代码将 sep 关键字参数设置为空字符串。
    • @Noumenon:在 Python 2 中,使用from __future__ import print_function;这不仅限于 Python 3。问题是使用 print() 作为函数,因此我针对这种情况进行了定制。
    • 按照同样的逻辑,任何 Python 2 的答案也适用于 Python 3,因为存在 2to3。您拒绝编辑导致 Python 2 用户感到困惑。我会将这个问题标记为 Python 3,但没有人注意到这一点。
    • @Noumenon:两个版本之间总是会有一些混淆。我确实链接到函数文档,我称它为 function 而不是 statement 等。
    【解决方案2】:

    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
    

    【讨论】:

      【解决方案3】:

      sep='\t' 常用于制表符分隔的文件。

      【讨论】:

        【解决方案4】:

        sep='\t' 可以以多种形式使用,例如,如果您想读取制表符分隔值: 示例:我有一个数据集 tsv = 制表符分隔值而不是逗号分隔值 df = pd.read_csv('gapminder.tsv')。 当您尝试阅读此内容时,它会给您一个错误,因为您有制表符分隔值而不是 csv。所以你需要给 read csv 一个不同的参数,叫做 sep='\t'。

        现在您可以阅读: df = pd.read_csv('gapminder.tsv, sep='\t'), 这样你就可以阅读了。

        【讨论】:

          猜你喜欢
          • 2021-11-16
          • 2019-09-18
          • 1970-01-01
          • 1970-01-01
          • 2021-10-29
          • 1970-01-01
          • 2020-12-13
          • 1970-01-01
          • 2016-03-09
          相关资源
          最近更新 更多