Python 3 字符串 format( ) 方法

Python 3 字符串 format( ) 方法


Python 3.8.5

语法格式:

str.format(*args, **kwargs)

描述:

  • 执行字符串格式化操作。
  • Python 2.6 开始,新增了一种格式化字符串的函数 str.format( ),它增强了字符串格式化的功能。
  • 调用此方法的字符串可以包含字符串字面值或者以花括号 {} 括起来的替换域。 每个替换域可以包含一个位置参数的数字索引,或者一个关键字参数的名称。 返回的字符串副本中每个替换域都会被替换为对应参数的字符串值。

参数说明:

  • *args —— 使用元组形式的参数。
  • **kwargs —— 使用字典形式的参数。

返回值:

  • 格式化后的字符串副本。

示例:

  • 使用 {}。
>>> a = '我爱一条{}'
>>> a.format('柴')
'我爱一条柴'

>>> b = '给我{},我去{}'
>>> b.format('500 块', '买条柴')
'给我500 块,我去买条柴'
  • 使用 {} 和 位置参数。
>>> c = '你是{0},你爱{1},你是{0},铁齿金不换,诚实可靠小郎君!'
>>> c.format('王二麻子', '一条柴')
'你是王二麻子,你爱一条柴,你是王二麻子,铁齿金不换,诚实可靠小郎君!'
  • 使用 {} 和关键字参数名称。
>>> d = '''一二三四五,上山打{name},{name}不在家,打个{sha}!'''
>>> d.format(name= '老虎', sha= '大西瓜')
'一二三四五,上山打老虎,老虎不在家,打个大西瓜!'
  • 进制转换:
    • 我们可以再限定符中制定不同的字符对数字进行进制转换的格式化,进制对应的表格:
    • 字符含义:b - 二进制,c - Unicode 字符,o - 八进制数,d - 十进制整数,x - 十六进制数 - a 到 f 小写,X - 十六进制数 - A 到 F 大写。
>>> N = 105
>>> print('{:b}'.format(N))
1101001
>>> print('{:c}'.format(N))
i
>>> print('{:d}'.format(N))
105
>>> print('{:o}'.format(N))
151
>>> print('{:x}'.format(N))
69
>>> print('{:X}'.format(N))
69
  • 填充与对齐:
    •  :  号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充,且填充常跟对齐一起使用;
    •  ^ 、 < 、 >  分别是居中、左对齐、右对齐,后面带宽度。
>>> N = 105
>>> print('{:>8}'.format(N))
     105
>>> print('{:->8}'.format(N))
-----105
>>> print('{:-<8}'.format(N))
105-----
>>> print('{:-^8}'.format(N))
--105---
  • 精度:
    •  :  号后面设置精度(以  .  开始加上精度),然后用  f  结束;
    • 若不是设置,默认为精度为 6,自动四舍五入,可带符号显示数字正负标志。
>>> N = 105.12345678901234567890
>>> M = -105.12345678901234567890

>>> print('{:f}'.format(N))
105.123457
>>> print('{:.2f}'.format(N))
105.12
>>> print('{:+.2f}'.format(N))
+105.12
>>> print('{:+.2f}'.format(M))
-105.12
  • 转义:
    • 我们可以使用大括号 {} 来转义大括号。
>>> p = 'Python'
>>> S = 'I like {}, and {{0}}'.format(p)
>>> print(S)
I like Python, and {0}
  • 其他示例:
>>> "{} {}".format("hello", "world")             # 不设置索引值,按默认顺序
'hello world'

>>> "{0} {1}".format("hello", "world")           # 设置索引值,位置必须从 0 开始
'hello world'

>>> "{1} {0} {1}".format("hello", "world")       # 设置索引值
'world hello world'

>>> a = '名字是:{name},年龄是:{age}'              # 设置参数
>>> a.format(age = 15, name = '大头')
'名字是:大头,年龄是:15'

>>> site = {"name": "孤岛危机", "url": "www.gdwj.com"}     # 通过字典设置参数
>>> print("网站名:{name}, 地址 {url}".format(**site))
网站名:孤岛危机, 地址 www.gdwj.com

>>> my_list = ['孤岛危机', 'www.gdwj.com']                 # 通过列表索引设置参数
>>> print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))      # "0" 是必须的
网站名:孤岛危机, 地址 www.gdwj.com

注意:

  • 在 3.7 版更改: 当使用 n 类型格式化数字时,该函数在某些情况下会临时性地将 LC_CTYPE 区域设置为 LC_NUMERIC 区域。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页