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 ...
随机推荐
- [bcc32 Error] ws2def.h(231): E2238 Multiple declaration for 'sockaddr'
[bcc32 Error] ws2def.h(231): E2238 Multiple declaration for 'sockaddr' Full parser context ksrGe ...
- [bcc32 Error] typeinfo.h(154): E2367 Can't inherit RTTI class from non-RTTI base 'exception'
[bcc32 Error] typeinfo.h(154): E2367 Can't inherit RTTI class from non-RTTI base 'exception' Full p ...
- 机器学习入门-数值特征-进行多项式变化(将特征投影到高维度上) 1.PolynomialFeatures(将数据变化为多项式特征)
函数说明: 1. PolynomialFeatures(degree=2, interaction_only=False, include_bias=False) 参数说明:degree=2,表示多项 ...
- WPF ListView即时更新
1.ListView 的 ItemSource 使用 BindingList < T >: 注:由于 List < T > 没有实现 INotifyPropertyChange ...
- JAVA版开源微信管家—JeeWx捷微3.1小程序版本发布,支持微信公众号,微信企业号,支付窗
支持小程序,JeeWx捷微3.1小程序版本发布^_^ JeeWx捷微V3.1--多触点小程序版本管理平台(支持微信公众号,微信企业号,支付窗) JeeWx捷微V3.1.0版本紧跟微信小程序更新,在原有 ...
- 尚硅谷springboot学习16-slf4j的使用
如何在系统中使用SLF4j 以后开发的时候,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象层里面的方法: 给系统里面导入slf4j的jar和 logback的实现jar impor ...
- C#项目单步调试莫名结束问题
今天在调试一个问题时,单步跟踪,走到某一步时突然跳出了调试,后面很多断点一个都不进来. 经过更细致的一步步调试(进入每个函数查看),定位到如下一段代码有问题: 原因是:size = 3,buff_id ...
- delphi 域名转ip并判断ip是否可以联通
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- 1-keystone 部署
https://github.com/openstack/keystone 最新版为rocky 1. 进入mysql create database keystone; grant all privi ...
- Codeforces Round #499 (Div. 2) D. Rocket题解
题目: http://codeforces.com/contest/1011/problem/D This is an interactive problem. Natasha is going to ...