Python 格式字符串中的 %s 是什么意思?

新手上路,请多包涵

%s 在 Python 中是什么意思?下面的代码是做什么的?

例如…

  if len(sys.argv) < 2:
     sys.exit('Usage: %s database-name' % sys.argv[0])

 if not os.path.exists(sys.argv[1]):
     sys.exit('ERROR: Database %s was not found!' % sys.argv[1])

原文由 Tyler 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 475
2 个回答

它是一种字符串格式化语法(它从 C 中借用)。

请参阅 “PyFormat”

Python 支持将值格式化为字符串。虽然这可能包括非常复杂的表达式,但最基本的用法是使用 %s 占位符将值插入到字符串中。

这是一个非常简单的例子:

 #Python 2
name = raw_input("who are you? ")
print "hello %s" % (name,)

#Python 3+
name = input("who are you? ")
print("hello %s" % (name,))

%s 标记允许我插入(并可能格式化)一个字符串。请注意, %s 标记被我在 % 符号之后传递给字符串的任何内容替换。另请注意,我在这里也使用了一个元组(当您只有一个字符串时,使用元组是可选的)来说明可以在一个语句中插入多个字符串并对其进行格式化。

原文由 Andrew Hare 发布,翻译遵循 CC BY-SA 4.0 许可协议

安德鲁的回答 很好。

为了帮助您获得更多帮助,以下是在一个字符串中使用多种格式的方法:

 "Hello %s, my name is %s" % ('john', 'mike') # Hello john, my name is mike".

如果您使用整数而不是字符串,请使用 %d 而不是 %s。

 "My name is %s and I'm %d" % ('john', 12) #My name is john and I'm 12

原文由 sqram 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题