字符串原样输出程序python_Python格式化字符串(格式化输出)
Python 提供了“%”对各种类型的数据进行格式化输出,例如如下代码:
price = 108 print ("the book's price is %s" % price)
上面程序中的 print 函数包含以下三个部分,第一部分是格式化字符串(相当于字符串模板),该格式化字符串中包含一个“%s”占位符,它会被第三部分的变量或表达式的值代替;第二部分固定使用“%”作为分隔符。
格式化字符串中的“%s”被称为转换说明符(Conversion Specifier),其作用相当于一个占位符,它会被后面的变量或表达式的值代替。“%s”指定将变量或值使用 str() 函数转换为字符串。
如果格式化字符串中包含多个“%s”占位符,第三部分也应该对应地提供多个变量,并且使用圆括号将这些变量括起来。例如如下代码:
user = "Charli" age = 8 # 格式化字符串有两个占位符,第三部分提供2个变量 print("%s is a %s years old boy" % (user , age))
在格式化字符串中难道只能使用“%s”吗?还有其他转换说明符吗?如果只有“%s”这一种形式,Python 的格式化功能未免也太单一了。
实际上, Python 提供了如表 1 所示的转换说明符:
表 1 Python转换说明符
转换说明符
说明
d, i
转换为带符号的十进制形式的整数
o
转换为带符号的八进制形式的整数
x
转换为带符号的十六进制形式的整数
X
转换为带符号的十六进制形式的整数
e
转化为科学计数法表示的浮点数(e 小写)
E
转化为科学计数法表示的浮点数(E 大写)
f,F
转化为十进制形式的浮点数
g
智能选择使用 f 或 e 格式
G
智能选择使用 F 或 E 格式
C
转换为单字符(只接受整数或单字符字符串)
r
使用 repr() 将变量或表达式转换为字符串
s
使用 str() 将变量或表达式转换为字符串
当使用上面的转换说明符时可指定转换后的最小宽度。例如如下代码:
num = -28 print("num is: %6i" % num) print("num is: %6d" % num) print("num is: %6o" % num) print("num is: %6x" % num) print("num is: %6X" % num) print("num is: %6s" % num)
运行上面代码,可以看到如下输出结果:
num is: -28
num is: -28
num is: -34
num is: -1c
num is: -1C
num is: -28
从上面的输出结果可以看出,此时指定了字符串的最小宽度为 6,因此程序转换数值时总宽度为 6,程序自动在数值前面补充了三个空格。
在默认情况下,转换出来的字符串总是右对齐的,不够宽度时左边补充空格。Python 也允许在最小宽度之前添加一个标志来改变这种行为,Python 支持如下标志:
-:指定左对齐。
+:表示数值总要带着符号(正数带“+”,负数带“-”)。
0:表示不补充空格,而是补充 0。
提示:这三个标志可以同时存在。
例如如下代码:
num2 = 30 # 最小宽度为0,左边补0 print("num2 is: %06d" % num2) # 最小宽度为6,左边补0,总带上符号 print("num2 is: %+06d" % num2) # 最小宽度为6,右对齐 print("num2 is: %-6d" % num2)
运行上面代码,可以看到如下输出结果:
num2 is: 000030
num2 is: +00030
num2 is: 30
对于转换浮点数,Python 还允许指定小数点后的数字位数:如果转换的是字符串,Python 允许指定转换后的字符串的最大字符数。这个标志被称为精度值,该精度值被放在最小宽度之后,中间用点 () 隔开。例如如下代码:
my_value = 3.001415926535 # 最小宽度为8,小数点后保留3位 print("my_value is: %8.3f" % my_value) # 最小宽度为8,小数点后保留3位,左边补0 print("my_value is: %08.3f" % my_value) # 最小宽度为8,小数点后保留3位,左边补0,始终带符号 print("my_value is: %+08.3f" % my_value) the_name = "Charlie" # 只保留3个字符 print("the name is: %.3s" % the_name) # 输出Cha # 只保留2个字符,最小宽度10 print("the name is: %10.2s" % the_name)
运行上面代码,可以看到如下输出结果:
my_value is: 3.001
my_value is: 0003.001
my_value is: +003.001
the name is: Cha
the name is: Ch
字符串原样输出程序python_Python格式化字符串(格式化输出)相关推荐
- 字符串转换整数python_Python将字符串转换为整数
字符串转换整数python In this tutorial you'll see two ways to convert string to integer in python. 在本教程中,您将看 ...
- Python输出格式化 格式化字符串语法 format f-string 格式化操作符% 数据类型转换 对齐方式 转换标志字符
Python输出格式化 格式化字符串语法 1.format 1.1 Format String Syntax 格式字符串语法 str.format() 方法和 Formatter 类共享相同的格式字符 ...
- 使用C++ ostringstream来格式化字符串输出
在Linux C中,我们通常使用snprintf来格式化字符串输出,但是有一个问题,就是可能会频繁申请大的缓冲区,并且无法实现字符串的动态增加,比如你定义的字符缓存为100个字节,如果你格式化以后的内 ...
- PAT甲级1016 Phone Bills :[C++题解]字符串处理(复杂题)(C语言格式化读入、输出很便利!!!)
文章目录 题目分析 题目链接 题目分析 原题: 长途电话公司按以下规则向客户收费: 拨打长途电话每分钟要花费一定的费用,具体收费取决于拨打电话的时间. 客户开始拨打长途电话的时间将被记录,客户挂断电话 ...
- Java学习笔记(七)--格式化字符串及格式输出
一.格式化字符串 String 类的静态 format() 方法用于创建格式化的字符串. 1.format(String format, Object···args) 该方法使用指定的格式字符串和参数 ...
- python字符串与文本处理技巧(4): 格式化输出、令牌解析、串上串
1. 以指定列宽格式化字符串 很多情况下,我们有一些长字符串,想以指定的列宽将它们重新格式化. textwarp() import textwrap import oss = "Look i ...
- python 格式化字符串_Python字符串三种格式化输出
字符串格式化输出是python非常重要的基础语法,今天就把三种格式化输出做一个简单的总结,希望对大家有帮助. 格式化输出:内容按照一定格式要求进行输出. 1.使用占位符%输出 python2.6版本之 ...
- php 输出text格式化,php printf() 输出格式化的字符串,phpprintf
php printf() 输出格式化的字符串,phpprintf php printf() 函数用于输出格式化的字符串,本文章向码农介绍php printf()函数的使用方法和基本使用实例,感兴趣的码 ...
- mybatis字符串转成数字_Python字符串三种格式化输出
字符串格式化输出是python非常重要的基础语法,今天就把三种格式化输出做一个简单的总结,希望对大家有帮助. 格式化输出:内容按照一定格式要求进行输出. 1.使用占位符%输出 python2.6版本之 ...
最新文章
- 推荐一本基于ASP.NET Core 3.1的实战来了
- python怎么另起一行阅读答案_一行代码将Pandas加速4倍
- AppScan漏洞“已解密的登陆请求”修复解决方案
- 如何使用Vectorworks Vision 2020将场景另存为图像
- 17 款可视化工具,让你的数据更美观!
- Nebula3渲染层: Graphics
- 代码安全/权限控制/敏感数据规范多多 - 第395篇
- lcd4linux 支持的相框,最新版AIDA64支持LCD4WIN相框太给力了(20140826更新啦)!
- 科学计算机怎么直接显示10的多少次方,科学计算器怎么开n次方
- FFMpeg-6、Libavdevice+SDL捕获显示摄像头、录屏
- c语言null是什么意思,c语言null什么意思?
- 使用链表实现栈stack
- android和iOS平台的崩溃捕获和收集
- 计算机视觉之旅(Day5)
- 3,用CMD命令打开QQ及微信....常用软件
- HTML+CSS错题整理
- 【ROM制作工具】合并分割system.img和userdata.img文件修改教程
- 又一个阿里离职的 P10 大佬
- 5.6月开始“薪资倒挂“严重
- CAD中插入外部参照字体会变繁体_CAD快速入门(二十七):外部参照
热门文章
- android 编译报错,android avc 编译报错neverallow问题查找
- Qt 判断一个点是否落在三角形内(算法)
- 我的世界 文件保存位置
- 浪潮NF5270M3 刷uefi_新零售浪潮中,开为科技利用刷脸支付帮门店“运营”人
- mysql键1键2_详解mysql基本操作详细(二)
- JQuery: 实现筛选功能
- 数据结构与算法 / 排序算法 / 基本概念
- 发福利了|最近发现深圳有一家公司提供的叫8ms的GUI平台不错,好用,最主要所有功能都是免费的
- python 词表里的词不符合_用骰子DIY真随机助记词 | 火星号精选
- 华三交换机配置多个镜像口_配置本地端口镜像详解(多个镜像口:多个观察口)...