python - Python 中的字符串格式 : can I use %s for all types?

标签 python string floating-point integer string-formatting

在 Python 中进行字符串格式化时,我注意到 %s 也将数字转换为字符串。

>>> a = 1
>>> b = 1.1
>>> c = 'hello'
>>> print 'Integer: %s; Float: %s; String: %s' % (a, b, c)
Integer: 1; Float: 1.1; String: hello

我不知道其他变量类型,但是像这样使用 %s 安全吗?

这肯定比每次都指定类型要快。

最佳答案

使用 %s 自动调用变量上的 str。由于所有内容都已定义 __str__ ,因此您应该能够毫无问题地执行此操作(即不会引发异常)。然而,你实际打印的是另一回事......

请注意,在较新的 python 代码中,还有另一个选项使用 format 方法:

'Integer: {}; Float: {}; String: {}'.format(a,b,c)

这基本上以相同的方式工作,只是一旦你学习了语法它就更强大了。

关于python - Python 中的字符串格式 : can I use %s for all types?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14506430/

相关文章:

python - 模块未找到错误: No module named 'sounds'

python - 每日赫斯特指数

c# - 如何在 C# 中可视化 MySQL 查询字符串

swift - 遍历后台节点+检查字符串时出现异常

c - 为什么这个 do while 循环不能正常工作?

math - 您如何正确计算具有 32 位 float 的大型数字集的运行平均值?

python - python函数的第一次使用

python - 如何处理 python 对象创建过程中的错误

ruby - 为什么 `gsub!` 返回 `nil` ?

floating-point - OpenCL 归约中 min() 和 max() 的中性元素