【python】format函数格式化字符串的用法
来源:http://www.jb51.net/article/63672.htm
自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足。那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱。
语法
它通过{}和:来代替%。
“映射”示例
通过位置
1
2
3
4
5
6
|
In [ 1 ]: '{0},{1}' . format ( 'kzc' , 18 ) Out[ 1 ]: 'kzc,18' In [ 2 ]: '{},{}' . format ( 'kzc' , 18 ) Out[ 2 ]: 'kzc,18' In [ 3 ]: '{1},{0},{1}' . format ( 'kzc' , 18 ) Out[ 3 ]: '18,kzc,18' |
字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以。
通过关键字参数
1
2
|
In [ 5 ]: '{name},{age}' . format (age = 18 ,name = 'kzc' ) Out[ 5 ]: 'kzc,18' |
通过对象属性
1
2
3
4
5
|
class Person: def __init__( self ,name,age): self .name, self .age = name,age def __str__( self ): return 'This guy is {self.name},is {self.age} old' . format ( self = self ) |
1
2
|
In [ 2 ]: str (Person( 'kzc' , 18 )) Out[ 2 ]: 'This guy is kzc,is 18 old' |
通过下标
1
2
3
|
In [ 7 ]: p = [ 'kzc' , 18 ] In [ 8 ]: '{0[0]},{0[1]}' . format (p) Out[ 8 ]: 'kzc,18' |
有了这些便捷的“映射”方式,我们就有了偷懒利器。基本的python知识告诉我们,list和tuple可以通过“打散”成普通参数给函数,而dict可以打散成关键字参数给函数(通过和*)。所以可以轻松的传个list/tuple/dict给format函数。非常灵活。
格式限定符
它有着丰富的的“格式限定符”(语法是{}中带:号),比如:
填充与对齐
填充常跟对齐一起使用
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
比如
1
2
3
4
5
6
|
In [ 15 ]: '{:>8}' . format ( '189' ) Out[ 15 ]: ' 189' In [ 16 ]: '{:0>8}' . format ( '189' ) Out[ 16 ]: '00000189' In [ 17 ]: '{:a>8}' . format ( '189' ) Out[ 17 ]: 'aaaaa189' |
精度与类型f
精度常跟类型f一起使用
1
2
|
In [ 44 ]: '{:.2f}' . format ( 321.33345 ) Out[ 44 ]: '321.33' |
其中.2表示长度为2的精度,f表示float类型。
其他类型
主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。
1
2
3
4
5
6
7
8
|
In [ 54 ]: '{:b}' . format ( 17 ) Out[ 54 ]: '10001' In [ 55 ]: '{:d}' . format ( 17 ) Out[ 55 ]: '17' In [ 56 ]: '{:o}' . format ( 17 ) Out[ 56 ]: '21' In [ 57 ]: '{:x}' . format ( 17 ) Out[ 57 ]: '11' |
用,号还能用来做金额的千位分隔符。
1
2
|
In [ 47 ]: '{:,}' . format ( 1234567890 ) Out[ 47 ]: '1,234,567,890' |
【python】format函数格式化字符串的用法的更多相关文章
- Python中用format函数格式化字符串的用法
这篇文章主要介绍了Python中用format函数格式化字符串的用法,格式化字符串是Python学习当中的基础知识,本文主要针对Python2.7.x版本,需要的朋友可以参考下 自python2. ...
- Python中用format函数格式化字符串的用法(2.7版本讲解哦!)
语法 它通过{}和:来代替%.“映射”示例 通过位置 In [1]: '{0},{1}'.format('kzc',18) Out[1]: 'kzc,18' In [2]: '{},{}'.forma ...
- Python中用format函数格式化字符串
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. 1.百分号方式 语法:%[( ...
- 关于使用format()方法格式化字符串,读这一篇就够了!
从Python 2.6开始,又出现了另外一种格式化字符串的方法——format()方法.format()方法是字符串众多方法中的一个,调用这个方法时要使用点操作符(.),该方法返回一个格式化好的字符串 ...
- python中format函数用于字符串的格式化
python中format函数用于字符串的格式化 通过关键字 print('{名字}今天{动作}'.format(名字='陈某某',动作='拍视频'))#通过关键字 grade = {'name' : ...
- Python中应该使用%还是format来格式化字符串?
转载自http://www.cnblogs.com/liwenzhou/p/8570701.html %的特点是,前面有几个%,后面的括号里就得有几个参数,如果只有一个%,括号可以省略 基本格式 'a ...
- python format()函数的用法
Python format() 函数的用法 复制自博主 chunlaipiupiupiu 的博客,如有侵权,请联系删除 python中format函数用于字符串的格式化 通过关键字 1 print(' ...
- Python - 格式化字符串的用法
0. 摘要 Python支持多种格式化字符串的方法,包括%-fromatting.str.format().f-strings三种,f-strings是Python3.6以后出现的一种新方法,相比其他 ...
- Python中使用%还是format来格式化字符串?
Python中应该使用%还是format来格式化字符串? %还是format Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了form ...
随机推荐
- Docker Architecture、Docker Usage
目录 . 引言 - 为什么要有Docker技术 . Docker简介 . Docker安装.部署.使用 . Docker安全 . Docker底层实现 . Docker网络配置 . Dockerfil ...
- TCP/IP详解 笔记十
IGMP Internet组管理协议 IGMP的作用:让一个物理网络上的所有系统知道主机所在的多播组: 让路由器知道多播数据报应该向哪个端口转发. IGMP有固定长度,没有可选数据,在ip头部的协议值 ...
- Spring学习4-面向切面(AOP)之aspectj注解方式
一.简介 1.AOP用在哪些方面:AOP能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任,例如事务处理.日志管理.权限控制,异常处理等,封装起来,便于减少系统的重复代码,降低模块间的耦合 ...
- std::stringstream
使用 std::stringstream,小心 内存! 适时 清空 缓冲 …… 2007年12月14日 星期五 : stringstream是个好东西,网上有不少文章,讨论如何用它实现各种数据类型的转 ...
- 初学JDBC,防SQL注入简单示例
在JDBC简单封装的基础上实现 public class UserDao{ public static void testGetUser(String userName) throws Excepti ...
- 可输入自动匹配Select——jquery ui autocomplete
<!doctype html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- 网站性能Web压力测试工具webbench
webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: wget http:/ ...
- iOS ASIHTTPRequest用https协议加密请求
iOS 终端请求服务端数据时,为了保证数据安全,我们一般会使用https协议加密,而对于iOS的网络编程,我们一般会使用开源框架:ASIHTTPRequest,但是如果使用传统的http方式,即使忽略 ...
- 新浪微博客户端(31)-显示相册图片上的GIF标记
DJStatusPhotoView.h #import <UIKit/UIKit.h> @class DJPhoto; @interface DJStatusPhotoView : UII ...
- bat programming is easy and powerful
用linux的角度来思考windows,习惯了linux的shell后, 再来看windows的bat编程,就简单多了,简直就是理所当然 实际上windows的cmd命令行和linux的shell命令 ...