python 之字符串格式化

python之字符串格式化(format)

用法:

  它通过{}和:来代替传统%方式

 

1、使用位置参数

要点:从以下例子可以看出位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开,传入位置参数列表可用*列表

复制代码
>>> li = ['hoho',18]
>>> 'my name is {} ,age {}'.format('hoho',18)
'my name is hoho ,age 18'
>>> 'my name is {1} ,age {0}'.format(10,'hoho')
'my name is hoho ,age 10'
>>> 'my name is {1} ,age {0} {1}'.format(10,'hoho')
'my name is hoho ,age 10 hoho'
>>> 'my name is {} ,age {}'.format(*li)
'my name is hoho ,age 18'
复制代码

 

2、使用关键字参数

要点:关键字参数值要对得上,可用字典当关键字参数传入值,字典前加**即可

>>> hash = {'name':'hoho','age':18}
>>> 'my name is {name},age is {age}'.format(name='hoho',age=19)
'my name is hoho,age is 19'
>>> 'my name is {name},age is {age}'.format(**hash)
'my name is hoho,age is 18'

 

3、填充与格式化

:[填充字符][对齐方式 <^>][宽度]

>>> '{0:*>10}'.format(10)  ##右对齐
'********10'
>>> '{0:*<10}'.format(10)  ##左对齐
'10********'
>>> '{0:*^10}'.format(10)  ##居中对齐
'****10****'

 

4、精度与进制

复制代码
>>> '{0:.2f}'.format(1/3)
'0.33'
>>> '{0:b}'.format(10)    #二进制
'1010'
>>> '{0:o}'.format(10)     #八进制
'12'
>>> '{0:x}'.format(10)     #16进制
'a'
>>> '{:,}'.format(12369132698)  #千分位格式化
'12,369,132,698'
复制代码

 

5、使用索引

>>> li
['hoho', 18]
>>> 'name is {0[0]} age is {0[1]}'.format(li)
'name is hoho age is 18
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python字符串格式化有多种方式可以实现。一种常见的方式是使用百分号(%)作为格式化操作符,类似于C语言中的printf()函数的字符串格式化。这种方式支持所有printf()式的格式化操作,并且只适用于字符串类型。 另一种方式是使用f字符串,它提供了一种简洁易读的方式,在字符串中可以包含Python表达式的值。通过在字符串前面加上字母"f",并在字符串中使用花括号{}来引用表达式的值,可以直接在字符串中插入变量或表达式的结果。甚至可以使用lambda表达式,要将其放在括号里面。 此外,Python还提供了str.format()方法来格式化字符串。最初,Python使用%作为字符串格式化操作符,但它的缺点是只支持有限的类型,如int、str和double,并需要进行强制类型转换。而str.format()方法则解决了这些问题,并且使用普通的函数调用语法,支持多个参数。此外,它还可以通过__format__()方法在被转换为字符串的对象上进行扩展。但是,str.format()方法可能存在代码冗余的问题。例如,当传递一个元组时,需要额外传入一个单值元组,否则会出现错误。 总的来说,Python字符串格式化可以使用百分号(%)操作符、f字符串和str.format()方法来实现。每种方式都有其特点和适用场景,可以根据具体需求选择合适的方式进行字符串格式化。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值