python输出1到9_1-9-Python格式化字符串(格式化输出)
Python提供了“%”对各种类型的数据进行格式化输出,例如如下代码:
1.price = 108
2.print ("the book's price is %s" % price)
上面程序中的 print 函数包含以下三个部分,第一部分是格式化字符串(相当于字符串模板),该格式化字符串中包含一个“%s”占位符,它会被第三部分的变量或表达式的值代替;第二部分固定使用“%”作为分隔符。格式化字符串中的“%s”被称为转换说明符(Conversion Specifier),其作用相当于一个占位符,它会被后面的变量或表达式的值代替。“%s”指定将变量或值使用 str() 函数转换为字符串。如果格式化字符串中包含多个“%s”占位符,第三部分也应该对应地提供多个变量,并且使用圆括号将这些变量括起来。例如如下代码:
1.user = "Charli"
2.age = 8
3.# 格式化字符串有两个占位符,第三部分提供2个变量
4.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() 将变量或表达式转换为字符串
当使用上面的转换说明符时,可指定转换后的最小宽度,例如如下代码:
1.num = -28
2.print("num is: %6i" % num)
3.print("num is: %6d" % num)
4.print("num is: %6o" % num)
5.print("num is: %6x" % num)
6.print("num is: %6X" % num)
7.print("num is: %6s" % num)
运行上面代码,可以看到如下输出结果:
num is: -28num is: -28num is: -34num is: -1cnum is: -1Cnum is: -28
从上面的输出结果可以看出,此时指定了字符串的最小宽度为 6,因此程序转换数值时总宽度为 6,程序自动在数值前面补充了三个空格。在默认情况下,转换出来的字符串总是右对齐的,不够宽度时左边补充空格。Python 也允许在最小宽度之前添加一个标志来改变这种行为,Python 支持如下标志:
·-:指定左对齐。
·+:表示数值总要带着符号(正数带“+”,负数带“-”)。
·0:表示不补充空格,而是补充0。
提示:这三个标志可以同时存在。
例如如下代码:
1.num2 = 30
2.# 最小宽度为0,左边补0
3.print("num2 is: %06d" % num2)
4.# 最小宽度为6,左边补0,总带上符号
5.print("num2 is: %+06d" % num2)
6.# 最小宽度为6,右对齐
7.print("num2 is: %-6d" % num2)
运行上面代码,可以看到如下输出结果:
num2 is: 000030num2 is: +00030num2 is: 30
对于转换浮点数,Python 还允许指定小数点后的数字位数:如果转换的是字符串,Python 允许指定转换后的字符串的最大字符数。这个标志被称为精度值,该精度值被放在最小宽度之后,中间用点 () 隔开。例如如下代码:
1.my_value = 3.001415926535
2.# 最小宽度为8,小数点后保留3位
3.print("my_value is: %8.3f" % my_value)
4.# 最小宽度为8,小数点后保留3位,左边补0
5.print("my_value is: %08.3f" % my_value)
6.# 最小宽度为8,小数点后保留3位,左边补0,始终带符号
7.print("my_value is: %+08.3f" % my_value)
8.the_name = "Charlie"
9.# 只保留3个字符
10.print("the name is: %.3s" % the_name) # 输出Cha
11.# 只保留2个字符,最小宽度10
12.print("the name is: %10.2s" % the_name)
运行上面代码,可以看到如下输出结果:
my_value is: 3.001my_value is: 0003.001my_value is: +003.001the name is: Chathe name is: Ch
python输出1到9_1-9-Python格式化字符串(格式化输出)相关推荐
- Python 格式化字符串(输出)
文章目录 ♂前言√ ① 指定最小输出宽度 ② 指定对齐方式 ③ 指定小数精度 ♂前言√ 熟悉C语言 printf() 函数的读者能够轻而易举学会 Python print() 函数,它们是非常类似的. ...
- python 0 100被7整除_python: 输出 1~100 之间不能被 7 整除的数,每行输出 10 个数字,要求应用字符串格式化方法美化输出格式。...
#输出 1~100 之间不能被 7 整除的数 j = 0 # 定义 计数变量为 j,初始值为1 for i in range(1,101): # 遍历1-100取值,定义为变量 i if ...
- python不能被100整除_python: 输出 1~100 之间不能被 7 整除的数,每行输出 10 个数字,要求应用字符串格式化方法美化输出格式。...
#输出 1~100 之间不能被 7 整除的数 j = 0 # for i in range(1,101): # 遍历1-100取值,定义为变量 i if i%7 != 0: # 找 ...
- 微课|中学生可以这样学Python(5.5.3节):字符串格式化1
适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第5章 Python序列及应用 5.5.3 字符串格式化1 京东购买链接:https://it ...
- 微课|中学生可以这样学Python(5.5.3节):字符串格式化2
适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第5章 Python序列及应用 5.5.3 字符串格式化2 京东购买链接:https://it ...
- python输出举例_python字符串格式化输出及相关操作代码举例
字符串的格式化 Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中.在 Python 中,字符串格式化使 ...
- Python字符串格式化%s输出
Python 支持格式化字符串的输出 . 尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中. 在 Python 中,字符串格式化使用与 C 中 s ...
- python 字符串格式化是打印不同类型更简单一些
Python 支持格式化字符串的输出 与 C 中 sprintf 函数一样的语法 下面写3中不同类型的数据合在一起打印 name = "张三丰" height = 1.88 wei ...
- 零基础入门学习Python(14)-格式化字符串
什么是格式化字符串 格式化字符串就是按照统一的规格去输出一个字符串,如果规格不统一,就很可能造成误会 format()方法 接受位置参数和关键字参数两种参数 二者均传递到一个replacement的字 ...
- python format函数实例_Python字符串格式化,format格式化函数详细使用
Python接触比较多的是字符串,那么操作字符串也就多.Python 支持格式化字符串的输出 . 尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符的字符串中. 代码 ...
最新文章
- 【转载】Sqlserver限制最大可使用内存
- 给Android工程师的Java后台学习建议
- django查询mysql 区分大小写_Django+MySQL查询不区分大小写问题
- 剁手党也有春天 -- 淘宝 UWP ”比较“功能诞生记
- mysql打开数据库的sql语句_数据库MySQL——SQL语句(命令)
- 腾讯信鸽推送,部分手机不能接收到推送弹窗
- DEDECMS自动采集更新伪原创完美版插件
- ssl免费证书的申请
- 数据分析tableau 和 python的区别_数据分析师综述篇
- 字节跳动疯狂挖人,校招平均年薪30万,我还有机会吗?
- 实战:Gateway API-2022.2.13
- 物联网云平台都有哪些分类
- 微信小程序 音乐播放控件,监听播放事件, 音乐播放的基本实现
- STM32f1系列压力传感器MPX4250压力检测
- SIKI学习——贪吃蛇案例05
- 苹果cms模板_苹果cms怎么修改网站logo?
- 哨兵3号—sentinel-3
- Java入门 - 分支结构
- 隐藏在QRCode二维码背后的秘密
- c语言之学生考勤打卡系统
热门文章
- Win10深色模式和白天模式设置
- php7 扩展 在哪下载,php7.0 redis扩展下载地址
- 最近三年的百度产品经理面试与笔试题完整版
- 探析初代虚拟人Lil Miquela的陨落
- 24、Java——银行存款取款系统(对象+集合)
- Linux命令 - su命令
- MySQL导入数据报Got a packet bigger than‘max_allowed_packet’bytes错误的解决方法
- Mysql我国省市区字典数据
- scp 拷贝文件夹到远程服务器被拒绝ssh: connect to host xxx.xxx.xxx.xxx port xxxxx: Connection refused
- 检测并发程序Bug:[PLDI2021] Canary: Practical Static Detection of Inter-thread Value-Flow Bugs