python format用法详解
发布时间:2020-12-17 17:00:02 所属栏目:Python 来源:网络整理
导读:format 基本语法是通过 {} 和 : 来代替以前的 % 。 format 函数可以接受不限个参数,位置可以不按顺序。 format基本用法 "Hello?{0}?{1}".format("Chen","xin")?#?引用第一个参数#?输出?'Hello?Chen?xin'"{}?is?cute".format("Chen?xin")?#?引用第一个参数#?
format 基本语法是通过 {} 和 : 来代替以前的 % 。 format 函数可以接受不限个参数,位置可以不按顺序。 format基本用法 "Hello?{0}?{1}".format("Chen","xin")?#?引用第一个参数 #?输出?'Hello?Chen?xin' "{}?is?cute".format("Chen?xin")?#?引用第一个参数 #?输出?'Chen?xin?is?good' "My?name?is?{name}".format(name="Chen?xin")?#?引用名字为name的参数 #?输出?'My?name?is?Chen?xin' 1. 类型转换
"Chen?xin?is?a?cute?{!s}".format("baby")?#?!s?相当于对于参数调用str() #?输出?'Peppa?pig?is?a?cute?baby' "Chen?xin?is?a?cute?{!r}".format("baby")?#?!r?相当于对于参数调用repr() #?输出?"Peppa?pig?is?a?cute?'baby'" 2. 通过位置来填充字符串 print('{0},?{1},?{2}'.format('a',?'b',?'c'))??#?a,?b,?c print('{},?{},?{}'.format('a',?'c'))?????#?a,?c print('{2},?{0}'.format('a',?'c'))??#?c,?a print('{2},?{0}'.format(*'abc'))?????????#?c,?a print('{0}?{1}?{0}'.format('aa',?'bb'))?????????#?aa?bb?aa 同一个参数可以填充多次,这个是format比%先进的地方 3. 按名称访问参数 print('name:?{last_name}{first_name}'.format(last_name='chen',?first_name='xin')) #?name:?chenxin name=?{'last_name':?'chen',?'first_name':?'xin'} print('name:?{last_name},?{first_name}'.format(**name)) #?name:?chenxin 4.?通过参数属性访问 class?MyList: ????def?__init__(self,?x,?y): ????????self.x,?self.y?=?x,?y ???????? ????def?__str__(self): ????????return?'MyList({self.x},?{self.y})'.format(self?=?self) print(str(MyList('陈新明',?'www.chenxm.cc'))) #?网站名:陈新明,?地址?www.chenxm.cc 5. 通过参数的items访问 my_list?=?['陈新明',?'www.chenxm.cc'] ? print("网站名:{0[0]},?地址?{0[1]}".format(my_list))??#?"0"?是必须的 #?网站名:陈新明,?地址?www.chenxm.cc 6.?对齐字符串 "{:>5}".format(1)?#?设置宽度为5,右对齐 "{:>5}".format(10) "{:>5}".format(100) "{:>5}".format(1000) #?输出下面的结果 '????1' '???10' '??100' '?1000' print('{:_<30}'.format('left?aligned')) #'left?aligned__________________' print('{:_>30}'.format('right?aligned')) #'__________________right?aligned' print('{:_^30}'.format('centered')) #'__________________centered__________________'
7.?截断字符串 '{:.5}'.format('Hello?Chen')?#?截取前5个字符 #?输出?'Hello' 8.?数字格式化 print("{:.2f}".format(3.1415926)); #?3.14
更多样式 9.?使用逗号作为千位分隔符 print('{:,}'.format(1234567890)) #'1,234,567,890' 10. 表示一个百分比
print('number:?{:.2%}'.format(0.61898)) #?number:?61.90% 11.?时间格式化 import?datetime d?=?datetime.datetime(2018,?7,?31,?15,?58,?58) print('{:%Y-%m-%d?%H:%M:%S}'.format(d)) #?2018-07-31?15:58:58 12.?访问元组中的元素 a?=?(1,2) 'X:?{0[0]};??Y:?{0[1]}'.format(a) #?输出?'X:?1;??Y:?2' #?注意:用%格式化字符串不支持此功能 13.?访问字典中的元素 people?=?{"name":?"Chen",?"age":?18} "My?name?is?{p[name]}?and?my?age?is?{p[age]}".format(p=people?) #?输出?'My?name?is?Chen?and?my?age?is?18' #?注意:用%格式化字符串不支持此功能 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |