我把{1:s}改成{1!s}运行结果一样
但是把{0!s}改成{0:s}运行就出现了错误(本人小白求指教啊
我把{1:s}改成{1!s}运行结果一样
但是把{0!s}改成{0:s}运行就出现了错误(本人小白求指教啊
在语句 {0!s}:{1:s} 中,{0!s} 的意思是将第一个参数以字符串类型进行格式化,而 {1:s} 的意思是将第二个参数以字符串类型进行格式化。这里感叹号的作用是可以省略的,因为默认的情况下,Python 会自动将参数转换成字符串类型。
而将 {0!s} 改为 {0:s},则会将第一个参数以字符串类型进行格式化,但是没有进行任何格式转换,这个例子中的参数本来就是字符串类型,所以没有出现错误。
但是,如果参数的类型不是字符串,而使用了 {0:s} 进行格式化,则会出现错误。例如,如果参数是一个整数,那么在 {0:s} 中将会出现类型不匹配的错误。在这种情况下,应该使用 {0:d} 或者其他适合的格式说明符来指定参数的类型。