Python: 使用格式字符串时打印多行

Python: print multi-lines when using format string

当我尝试使用 python 中的格式字符串打印多行时,bash 显示如下错误:

a = 'tony'
b = '20'
print ("I am %s\n"+
       "I am %s years old\n"
       % (a,b))

类型错误:在字符串格式化期间并非所有参数都已转换

我想知道这有什么问题,使用格式字符串打印多行的正确方法是什么。


如果我这样写代码,它会正确输出。但是,单行代码会太长,这不是我想要的。

print ("I am %s\nI am %s years old\n" % (a,b))

这里需要line continuation,使用\

试试这个:

a = 'tony'
b = '20'
print("I am %s\n" \
      "I am %s years old\n" \
       % (a,b))

I am tony
I am 20 years old

或者您可以删除 +

print("I am %s\n"
      "I am %s years old\n"
       % (a,b))

I am tony
I am 20 years old