【问题标题】:Meaning of end='' in the statement print("\t",end='')? [duplicate]语句 print("\t",end='') 中 end='' 的含义? [复制]
【发布时间】:2022-01-21 05:06:17
【问题描述】:

这是用于打印嵌套列表中所有值的函数(使用 Python 取自 Head first)。

def printall(the_list, level):
    for x in the_list:
        if isinstance(x, list):
            printall(x, level=level + 1)
        else:
            for tab_stop in range(level):
                print("\t", end='')
        print(x)

功能正常。

该函数基本上打印列表中的值,如果有嵌套列表,则通过制表符打印它。

为了更好的理解,end=' ' 是做什么的?

我正在使用 Python 3.3.5

对于 2.7

f =  fi.input( files = 'test2.py', inplace = True, backup = '.bak')
for line in f:
    if fi.lineno() == 4:
        print line + '\n'
        print 'extra line'
    else:
        print line + '\n'

从 2.6 开始,fileinput 不支持 with。 此代码追加了 3 行,并在第 3 个新行上打印附加的文本。然后再追加 16 个空行。

【问题讨论】:

    标签: python python-3.x python-3.3


    【解决方案1】:

    end 的默认值为\n,这意味着在print 语句之后它将打印一个新行。所以简单地说end是你在print语句执行后要打印的内容

    例如:-print ("hello",end=" +") 将打印 hello +

    【讨论】:

    • 我的 aspergers 要求我将输出更正为 hello +
    • @smassey 是的,但问题是即使我给了一个空格,它也没有显示出来:(
    • 你不能真的只是 end 和 end 并不真正等同于换行符 end=' ' 实际上意味着你想要在语句结束后有一个空格而不是换行符。所以你可以在同一行继续使用 "Whatever" Example print ("Hello World") x = '20' print (x, x, x, x) print ("HI HI") 将打印出第一行 = "Hello World" 第二行 = 20 20 20 20 第三行 = "HI HI" 但是 Example print ("Hello World") x = '20' print (x, x, x, x, end=' ') print ("HI HI") 将打印出第一行= Hello World 第二行 = 20 20 20 20 HI HI
    • end 将适用于 python 3 而不是 2.7
    • @ShyamGupta 是的
    【解决方案2】:

    打印功能见文档:print()

    end 的内容打印在你要打印的东西之后。默认情况下,它包含一个换行符 ("\n"),但它可以更改为其他内容,例如空字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-13
      • 2021-04-08
      • 2019-09-30
      • 2022-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多