Python字符串三种格式化输出


Posted in Python onSeptember 17, 2020

字符串格式化输出是python非常重要的基础语法,今天就把三种格式化输出做一个简单的总结,希望对大家有帮助。

格式化输出:内容按照一定格式要求进行输出。

1.使用占位符%输出

python2.6版本之前,使用%格式化字符串沿用的是C语言的输出格式。

使用说明:

print("格式化字符串" % 变量)

#变量超过2个使用元组格式:

print("格式化字符串" % (变量1,变量2))

使用%占位符表示字符串中变量位置。

传入的值要与%占位符的变量一一对应。

其中,%s表示字符串,%d表示整数,%f表示小数(默认保留小数点后6位,%.2f保留两位小数),存在格式化标志时,需要用 %%表示一个百分号。

name='xiaoming'
age=12
print("My name is %s,My age is %d" %(name,age))
#输出:My name is xiaoming,My age is 12

2.format格式化

format是python2.6新增的一个格式化字符串的方法,相比%格式化方法有如下优点:

  • 单个参数可以多次输出,参数顺序可以不相同
  • 填充方式十分灵活,对齐方式十分强大
  • 官方推荐用的方式

使用说明:

print("...{索引}, ... , {索引}, ...".format(值1, 值2))
#索引{}为空,默认按照顺序取值
print("...{key1}, ... , {key2}, ...".format(key1=value,key2=value))
name='xiaoming'
age=12
print('My name is {}, My age is {}'.format(name,age))
print('My name is {0}, My age is {1}'.format(name,age))
print('My name is {name}, My age is {age}'.format(name='xiaoming',age=12))
#输出:My name is xiaoming,My age is 12

format进阶

1.填充对齐

# 先取到值,然后在冒号后设定填充格式:{索引:[填充字符][对齐方式][宽度]}
# *<20:左对齐,总共20个字符,不够的用*号填充
print('{0:*<20}'.format('hellopython'))
# *>20:右对齐,总共20个字符,不够的用*号填充
print('{0:*>20}'.format('hellopython'))
# *^20:居中显示,总共20个字符,不够的用*号填充
print('{0:*^20}'.format('hellopython'))
输出:
hellopython*********
*********hellopython
****hellopython*****

2.位数与进制转换

#保留2位有效数字
print("{:.2f}".format(3.1415926))
#转成二进制
print('{0:b}'.format(16))
#转成八进制
print('{0:o}'.format(10))
#转成十六进制
print('{0:x}'.format(15)) 
输出
3.14
10000
12
f

f-string格式化

在Python 3.6中引入 了f-strings,不仅比str.format使用简单,而且效率也更高。

使用说明

f-string是字符串前面加上 "f",{}直接使用变量、表达式等。

name='xiaoming'
age=12
#{}中直接使用变量
print(f'My name is {name},My age is {age}')
#{}中运行表达式
print(f'{1+2+3}')
#调用Python内置函数
print(f'{name.upper()}')
#用lambda匿名函数:可以做复杂的数值计算
fun = lambda x : x+1
print(f'{fun(age)}')
#输出
My name is xiaoming,My age is 12
6
XIAOMING
13

总结

到此这篇关于Python字符串三种格式化输出的文章就介绍到这了,更多相关Python字符串格式化输出内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python 变量类型及命名规则介绍
Jun 08 Python
跟老齐学Python之使用Python操作数据库(1)
Nov 25 Python
在Python中调用ggplot的三种方法
Apr 08 Python
Python实现提取文章摘要的方法
Apr 21 Python
Python实现简单多线程任务队列
Feb 27 Python
一张图带我们入门Python基础教程
Feb 05 Python
Python 机器学习库 NumPy入门教程
Apr 19 Python
windows下搭建python scrapy爬虫框架步骤
Dec 23 Python
只需7行Python代码玩转微信自动聊天
Jan 27 Python
Python实现线性判别分析(LDA)的MATLAB方式
Dec 09 Python
Python如何在DataFrame增加数值
Feb 14 Python
python从ftp获取文件并下载到本地
Dec 05 Python
python判断变量是否为列表的方法
Sep 17 #Python
Django实现文章详情页面跳转代码实例
Sep 16 #Python
如何基于Django实现上下文章跳转
Sep 16 #Python
Python通过类的组合模拟街道红绿灯
Sep 16 #Python
python如何绘制疫情图
Sep 16 #Python
如何用Python绘制3D柱形图
Sep 16 #Python
Python Merge函数原理及用法解析
Sep 16 #Python
You might like
层叠菜单的动态生成
2006/10/09 PHP
PHP原生函数一定好吗?
2014/12/08 PHP
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
HTML页面如何象ASP一样接受参数
2007/02/07 Javascript
用javascript做拖动布局的思路
2008/05/31 Javascript
Javascript isArray 数组类型检测函数
2009/10/08 Javascript
js 居中漂浮广告
2010/03/21 Javascript
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
小试SVG之新手小白入门教程
2019/01/08 Javascript
在vue中根据光标的显示与消失实现下拉列表
2019/09/29 Javascript
如何基于JS截获动态代码
2019/12/25 Javascript
[01:23]一分钟告诉你 DOTA2为什么叫信仰2
2014/06/20 DOTA
[02:39]我与DAC之Newbee.Moogy:从论坛到TI
2018/03/26 DOTA
python ip正则式
2009/05/07 Python
详解Python中for循环的使用方法
2015/05/14 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
Python实现上下文管理器的方法
2020/08/07 Python
css3个性化字体_动力节点Java学院整理
2017/07/12 HTML / CSS
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
《狮子和兔子》教学反思
2014/03/02 职场文书
幼儿园安全责任书
2014/04/14 职场文书
生活部的活动方案
2014/08/19 职场文书
超市店庆活动方案
2014/08/31 职场文书
师德师风整改措施
2014/10/24 职场文书
2015年元旦主持词开场白
2014/12/14 职场文书
python 提取html文本的方法
2021/05/20 Python
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python
MySQL安装失败的原因及解决步骤
2022/06/14 MySQL
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS
Win11无法安装更新补丁KB3045316怎么办 附KB3045316补丁修复教程
2022/08/14 数码科技