26【python】sprintf风格的字符串
参考资料:https://docs.python.org/3.5/library/stdtypes.html#old-string-formatting
实例
s#!/bin/python
a = ("year:%d model:%s") % (2018, 'BMW X5')
print(a) #year:2018 model:BMW X5
可以看到用这种类似于c语言中的printf函数,实现了字符串拼接,这个在实际应用中很常见,比如打日志,比如输出一段完整的内容,其中包含一些变量。
按照%出现的顺序,依次和后面的参数对应起来,来实现字符串拼接。
以下是一些提示
提示1:
前面出现的%必须和后边的参数个数保持一致,否则会报错:TypeError: not all arguments converted during string formatting
提示2:
这里如果输出%本身,需要用%来转义。
a = ("%% year:%d model:%s") % (2018, 'BMW X5')
提示3:
支持的所有类型见表格:
| 表示 | 含义 | 备注 |
| %d | 整型 | |
| %i | 整型 | |
| %u | 整型 | 和%d一样 |
| %f | 浮点数 | |
| %F | 浮点数 | |
| %e | 指数形式的整型 | |
| %E | 指数形式的整型 | |
| %g | 浮点数表示,精度太低,需要指数介入时会用到,e是小写的 | |
| %G | 浮点数表示,精度太低,需要指数介入时会用到,e是大写的 | |
| %x | 十六进制表示 | |
| %X | 十六进制表示 | |
| %c | char类型 | 必须是单个字符,否则报错 |
| %o | 八进制 | 这里是字母o |
| %r | 使用函数repr()来转化后的string | |
| %s | string类型,使用str()转换后的值 | |
| %a | string,使用ascii(0函数转换后的值 |
以上是所有常用的类型。
对于%d,支持类似于%3d(3位整型),'% 8d','%08d'这样的表示。
类似的%f,也是一样的,支持%8.5f。
其它格式见链接:https://docs.python.org/3.5/library/stdtypes.html#old-string-formatting
26【python】sprintf风格的字符串的更多相关文章
- Python 代码风格
1 原则 在开始讨论Python社区所采用的具体标准或是由其他人推荐的建议之前,考虑一些总体原则非常重要. 请记住可读性标准的目标是提升可读性.这些规则存在的目的就是为了帮助人读写代码,而不是相反. ...
- python代码风格-PEP8
转载自http://www.douban.com/note/134971609/ Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下 ...
- python代码风格指南:pep8 中文翻译
摘要 本文给出主Python版本标准库的编码约定.CPython的C代码风格参见PEP7.本文和PEP 257 文档字符串标准改编自Guido最初的<Python Style Guide&g ...
- 【转】python代码风格-PEP8
转载自http://www.douban.com/note/134971609/ Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下 ...
- Python基础7:字符串方法
1 * 重复输出字符串 print('helo '*4) 2 [],[:] 通过索引获取字符串中的字符,这里和列表中的切片操作是相同的,具体内容见列表 print('hello word'[2:]) ...
- Python 编码风格指南
原文:http://python.jobbole.com/84618/ 本文超出 PEP8 的范畴以涵盖我认为优秀的 Python 风格.本文虽然坚持己见,却不偏执.不仅仅涉及语法.模块布局等问题,同 ...
- 『Python基础-4』字符串
# 『Python基础-4』字符串 目录 1.什么是字符串 2.修改字符串 2.1 修改字符串大小 2.2 合并(拼接)字符串 2.3 使用乘号'*'来实现字符串的叠加效果. 2.4 在字符串中添加空 ...
- Python基础总结(字符串常用,数字类型转换,基本运算符与流程控制)
一.字符串常用操作 #Python strip() 方法用于移除字符串头尾指定的字符(默认为空格) name='*egon**' print(name.strip('*'))#移除 name 变量对应 ...
- (转)PEP 8——Python编码风格指南
PEP 8——Python编码风格指南标签(空格分隔): Python PEP8 编码规范原文:https://lizhe2004.gitbooks.io/code-style-guideline-c ...
随机推荐
- ABAP-数据引用
*&---------------------------------------------------------------------* *& Report ZRICO_TES ...
- KMP算法next数组求解
关于KMP算法,许多教材用的是递推式求解,虽然代码简洁,但是有些不好理解,这里我介绍一种迭代求next数组的方法 KMP算法关键部分就是滑动模式串,我们可以每次滑动一个单位,直到出现可能匹配的情况,此 ...
- C#可变参数params
using System.Collections; using System.Collections.Generic; using UnityEngine; public class TestPara ...
- Glide4 高效加载图片的配置【转】
原文: Glide4 高效加载图片的配置 https://www.jianshu.com/p/a079713f280f
- 18.3 redis 的安装
因为之前我们server不存东西 我们 发现 后打开的网页 是接手不到之前的变化,不能更新到最新的变化的. 我们需要做到server给client发最新的代码已达到同步 我们有三种做法同步到最新的代码 ...
- Linux下设置动态库的方法
库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的. 一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使 ...
- VC/VS2010中快捷键
序号 热键 备注 1 F7 编译 2 Ctrl + F7 链接 3 Ctrl + F5 运行 4 F9 在光标处设置断点 5 F10 单步跟踪 6 F11 进入函数内部跟踪 7 Shift + F11 ...
- Spark MLlib特征处理:OneHotEncoder OneHot编码 ---原理及实战
http://m.blog.csdn.net/wangpei1949/article/details/53140372 Spark MLlib特征处理:OneHotEncoder OneHot编码 - ...
- 使用pickle进行存储变量
有时候我们需要把我们的变量内容存下来,这时我们就可以用pickle来操作. 存储操作如下所示: #!/usr/bin/python # -*- coding:utf-8 -*- import pick ...
- js基础-单体对象日期对象
Math对象 全局对象 日期对象 var t = new Date() t.toLocaleDateString(); t.getFullYear(); t.getMonth() + 1 t.getD ...