python基础语法手册format-python基础_格式化输出(%用法和format用法)
Python中应该使用%还是format来格式化字符串?
Python新版本推荐使用format.
Python2.6 新加入的format语法支持.
3.6加入了一个 f-strings新特性
1、区别
Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢?
自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是format这根本就不算个问题。
1
2
3
4
# 定义一个坐标值
c= (250,250)
# 使用%来格式化
s1= "敌人坐标:%s" % c
上面的代码很明显会抛出一个如下的TypeError:
TypeError: not all arguments converted during string formatting
像这类格式化的需求我们需要写成下面的格式才行:
1
2
3
4
# 定义一个坐标值
c= (250,250)
# 使用%丑陋的格式化...
s1= "敌人坐标:%s" % (c,)
而使用format就不会存在上面的问题:
1
2
3
4
# 定义一个坐标值
c= (250,250)
# 使用format格式化
s2= "敌人坐标:{}".format(c)
很显然,format比%方便多了。
2、新特性
在Python3.6中加入了f-strings:
1
2
3
4
In[1]: name= "Q1mi"
In[2]: age= 18
In[3]: f"My name is {name}.I'm {age}"
Out[3]:"My name is Q1mi.I'm 18"
二、常用的format用法
1、通过位置
1
2
3
In[1]: data= ["Q1mi",18]
In[2]:"Name:{0}, Age:{1}".format(*data)
Out[2]:'Name:Q1mi, Age:18'
2、通过关键字
1
2
3
In[1]: data= {"name":"Q1mi","age":18}
In[2]:"Name:{name}, Age:{age}".format(**data)
Out[2]:'Name:Q1mi, Age:18'
3、通过对象属性
1
2
3
4
5
6
7
8
9
10
In[1]:class Person(object):
...:def __init__(self, name, age):
...:self.name= name
...:self.age= age
...:def __str__(self):
...:return "This guy is {self.name}, {self.age} years old.".format(self=self)
...:
In[2]: p= Person("Q1mi",18)
In[3]:str(p)
Out[3]:'This guy is Q1mi, 18 years old.'
4、通过下标
1
2
In[1]:"{0[0]} is {0[1]} years old.".format(data)
Out[1]:'Q1mi is 18 years old.'
5、填充与对齐
填充常跟对齐一起使用
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充。
1
2
3
4
5
6
In[1]:"{:>10}".format('18')
Out[1]:' 18'
In[2]:"{:0>10}".format('18')
Out[2]:'0000000018'
In[3]:"{:A>10}".format('18')
Out[3]: 'AAAAAAAA18
补充一个字符串自带的zfill()方法:
Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0。
zfill()方法语法:str.zfill(width)
参数width指定字符串的长度。原字符串右对齐,前面填充0。
返回指定长度的字符串。
1
2
In[1]:"18".zfill(10)
Out[1]:'0000000018'
6、精度与类型f
精度常跟类型f一起使用。
1
2
In[1]:"{:.2f}".format(3.1415926)
Out[1]:'3.14'
其中.2表示长度为2的精度,f表示float类型。
7、其他进制
主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。
1
2
3
4
5
6
7
8
In[1]:"{:b}".format(18)
Out[1]:'10010'
In[2]:"{:d}".format(18)
Out[2]:'18'
In[3]:"{:o}".format(18)
Out[3]:'22'
In[4]:"{:x}".format(18)
Out[4]:'12'
8、千位分隔符
1
2
In[1]:"{:,}".format(1234567890)
Out[1]:'1,234,567,890'
http://www.cnblogs.com/gaoya666/articles/8576814.html
http://www.runoob.com/python/att-string-format.html
https://www.cnblogs.com/fat39/p/7159881.html
https://blog.csdn.net/i_chaoren/article/details/77922939
python基础语法手册format-python基础_格式化输出(%用法和format用法)相关推荐
- python 格式化输出:%用法和format用法
%用法 1.整数的输出 %o -- oct 八进制 %d -- dec 十进制 %x -- hex 十六进制 1 >>> print('%o' % 20) 2 24 3 >&g ...
- python基础_格式化输出(%用法和format用法)(转载)
python基础_格式化输出(%用法和format用法) 目录 %用法 format用法 %用法 1.整数的输出 %o -- oct 八进制 %d -- dec 十进制 %x -- hex 十六进制 ...
- python中return和printf的区别_Python格式化输出:%s和format()用法比较
1.python格式化输出历史起源 python2.5之前,我们使用的是老式格式化输出:%s.从python3.0开始起(python2.6同期发布),同时支持两个版本的格式化,多出来的一个新版本就是 ...
- python基础语法手册_说一说python中的几个基础语法
学一门语言,基础语法一定要扎实.就如盖房子一样,地基打得好,任凭风吹雨打,学习python也一样,学习很多东西都会花大量的时间来学习基础语法,对于毫无编程经验的新手而言,这样的无疑是很友好的,那么我们 ...
- python基础语法手册format-Python-输出格式化format()方法的基本使用(2)
本文章主要讲述Python中输出函数里格式化输出<.format()>的使用方法. 任何人可对专栏内容进行任意复制和转载,且无需注明文章作者,出处,来源. 接上次的继续讲,没看过的可以去看 ...
- python基础语法手册format-python的格式化输出(format,%)实例详解
皇城PK Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是format这根本就不算个问 ...
- python基础语法手册format-Python基础语法-格式化输出
Python基础语法 python格式化输出 python在格式化输出过程中,就我个人学习历程来看,有两种格式化输出方法. 第一种是利用 % s %d 进行占位输出,效果就是这样的: info='li ...
- python基础_格式化输出(%用法和format用法)
%用法 1.整数的输出 %o -- oct 八进制 %d -- dec 十进制 %x -- hex 十六进制 >>> print('%o' % 20) 24 >>> ...
- python基础语法手册-python语法手册
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 常用的也不超过十个,这种相对于更为复杂的html标记语言来说,markd ...
最新文章
- ML之xgboost:利用xgboost算法(自带方式)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
- win10 64位下运行汇编
- 常见的数据增强项目和论文介绍
- 在中国,真正达到月收入1万以上的有多少
- ThirdServiceManager SDK
- [转]vue解决刷新页面vuex数据、params参数消失的问题
- neo4j---学习笔记
- Windows工具 - 查看apk信息 - 包名/支持Android版本/支持架构等
- EditPlus怎么首行和末尾统一添加文本内容
- Cassandra启动过程详解【原创】
- 穿越六年艰难转型,明道云终于再获主流投资
- Docker(狂神说)笔记
- Python实现钉钉/企业微信自动打卡
- Solidity中文文档(内部)
- 新媒体时代的公关怎么做
- 什么是RTK?GPS导航和RTK的基本原理有什么不同?
- JavaScript怎么获取当前时间的年月日?
- 【DB宝3】在Docker中使用rpm包的方式安装Oracle 19c
- 2016版excel_excel中yd是什么意思
- 缺陷管理 如何发现更多的缺陷
热门文章
- pwdencrypt,pwdcompare
- 使用nodejs开发一个markdown文档管理小系统(一)Using Nodejs to quickly develop a markdown management system...
- 表格边框重复合并属性: border-collapse:collapse;
- Python高级特性: 函数编程 lambda, filter,map,reduce
- linq语句复杂查询和分开查询的性能对比
- 对 VR 项目开发流程的调研
- 为什么现有的工作制度 对 上班族不利
- ASIHTTPRequest取消异步请求
- 暂时无法登陆GOOGLE,却依然可以用GOOGLE搜索--更多GOOGLE入口
- supersu二进制更新安装失败_helm安装教程