字符串格式在 input() 函数中不起作用吗?

Does string formatting not work within an input() function?

我的代码:

new_account = sys.argv[1]
confirm_new = input("Would you like to add {} to the dictionary?" +
                    "\ny or n\n".format(new_account))

这不会格式化字符串以将变量放置在 {} 的位置。怎么了?

这与input无关。只是加法的优先级低于方法调用:

>>> "{}" + "b".format('a')
'{}b'

通常情况下,如果我有一个多行字符串(只需省略 +),我就使用自动字符串连接:

confirm_new = input("Would you like to add {} to the dictionary?"
                    "\ny or n\n".format(new_account))