365bet网址:str字符串 format( ) 方法

一.简练利用

字符串类型格式化采纳format()方法,基本采取格式是:

     <模板字符串>.format(<逗号分隔的参数>)

调用format()方法后会重临一个新的字符串,参数从0 开首编号。

"{}:计算机{}的CPU 占用率为{}%。".format("2016-12-31","PYTHON",10)
Out[10]: '2016-12-31:计算机PYTHON的CPU 占用率为10%。'

 

format()方法能够卓殊有利地接连不一样类别的变量或内容,如若急需输出大括号,接纳{{表示{,}}表示},举个例子:

"{}{}{}".format("圆周率是",3.1415926,"...")
Out[11]: '圆周率是3.1415926...'

"圆周率{{{1}{2}}}是{0}".format("无理数",3.1415926,"...")
Out[12]: '圆周率{3.1415926...}是无理数'

s="圆周率{{{1}{2}}}是{0}" #大括号本身是字符串的一部分

s
Out[14]: '圆周率{{{1}{2}}}是{0}'

s.format("无理数",3.1415926,"...") #当调用format()时解析大括号
Out[15]: '圆周率{3.1415926...}是无理数'

 

format格式化字符串方法相较于老版%格式方法的亮点:
一.不须求理会数据类型的主题材料,在%方法中’%s’只好替代字符串类型.
贰.单个参数能够屡屡输出,参数顺序能够区别.
叁.填充格局要命心灵手巧,对齐方式13分强大.
4.官方推荐,%方法将会在前面包车型客车版本被淘汰.

format格式化字符串方法相较于老版%格式方法的亮点:
一.不须求理会数据类型的主题材料,在%方法中’%s’只可以替代字符串类型.
二.单个参数能够频繁出口,参数顺序能够分裂.
三.填充格局丰硕灵活,对齐格局1二分强大.
四.官方推荐,%方法将会在前边的本子被淘汰.

format格式化字符串方法相较于老版%格式方法的亮点:
一.不供给理会数据类型的主题素材,在%方法中’%s’只好代替字符串类型.
二.单个参数能够屡屡输出,参数顺序能够差异.
3.填充形式特别心灵手巧,对齐方式十三分强大.
四.官方推荐,%方法将会在后边的版本被淘汰.

二. 格式调控音讯

   format()方法中<模板字符串>的槽除了包含参数序号,还足以归纳格式调整音信。此时,槽的在这之中样式如下:

     {<参数序号>: <格式调控标志>}

     个中,<格式调整标志>用来调控参数字展现示时的格式,包括:<填充><对齐><宽度>,<.精度><类型>6个字段,那么些字段都以可选的,能够整合使用,逐一介绍如下。

 

365bet网址 1

 

<宽度>

指当前槽的设定输出字符宽度,假如该槽对应的format()参数长度比<宽度>设定值大,则运用参数实际尺寸。如果该值的实际上位数小于内定宽度,则位数将被私下认可以空格字符补充。

<对齐>

指参数在<宽度>内输出时的对齐格局,分别使用<、>和^多个暗记表示左对齐、右对齐和居中对齐。

<填充>

指<宽度>内而外参数外的字符采纳什么样措施意味着,暗许使用空格,能够通过<填充>更动。

s = "PYTHON"

"{0:30}".format(s)
Out[17]: 'PYTHON                        '

"{0:>30}".format(s)
Out[18]: '                        PYTHON'

"{0:*^30}".format(s)
Out[19]: '************PYTHON************'

"{0:-^30}".format(s)
Out[20]: '------------PYTHON------------'

"{0:3}".format(s)
Out[21]: 'PYTHON'

format()方法的着力选择格式:
  <模板字符串>.format(<逗号分隔的参数>)
<模板字符串>是由一层层的槽组成,用来支配修改字符串中嵌入值出现的地点,其基本观念是将format()方法的<逗号分隔的参数>中的参数遵照序号关系替换成<模板字符串>的槽中.
槽用大括号{}表示,即使大括号中一贯不序号,则根据岗位顺序替换:

format()方法的中坚使用格式:
  <模板字符串>.format(<逗号分隔的参数>)
<模板字符串>是由1系列的槽组成,用来支配修改字符串中嵌入值出现的职位,其基本观念是将format()方法的<逗号分隔的参数>中的参数依据序号关系替换成<模板字符串>的槽中.
槽用大括号{}表示,假若大括号中绝非序号,则依据职位顺序替换:

format()方法的主导选拔格式:
  <模板字符串>.format(<逗号分隔的参数>)
<模板字符串>是由壹层层的槽组成,用来支配修改字符串中嵌入值现身的职务,其基本观念是将format()方法的<逗号分隔的参数>中的参数根据序号关系替换来<模板字符串>的槽中.
槽用大括号{}表示,假设大括号中未有序号,则依照岗位顺序替换:

逗号(,)

<格式调控标志>中逗号(,)用于展现数字的千位分隔符,比方:

"{0:-^20,}".format(1234567890)
Out[24]: '---1,234,567,890----'

"{0:-^20}".format(1234567890) #对比输出
Out[25]: '-----1234567890-----'

"{0:-^20,}".format(12345.67890)
Out[26]: '----12,345.6789-----'
>>> print('{}:计算机{}的CPU占用率为{}%'.format('2017-09-30', 'Python', 10))
2017-09-30:计算机Python的CPU占用率为10%
>>> print('{}:计算机{}的CPU占用率为{}%'.format('2017-09-30', 'Python', 10))
2017-09-30:计算机Python的CPU占用率为10%
>>> print('{}:计算机{}的CPU占用率为{}%'.format('2017-09-30', 'Python', 10))
2017-09-30:计算机Python的CPU占用率为10%

 <.精度>

意味着多个意思,由小数点(.)初始。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大尺寸。

"{0:.2f}".format(12345.67890)
Out[29]: '12345.68'

"{0:H^20.3f}".format(12345.67890)
Out[30]: 'HHHHH12345.679HHHHHH'

"{0:.4}".format("PYTHON")
Out[31]: 'PYTH'

1经大括号中钦赐了选取参数的序号,依照序号对应参数替换.参数从0起先编号:

要是大括号中钦命了运用参数的序号,依照序号对应参数替换.参数从0初步编号:

借使大括号中钦点了应用参数的序号,根据序号对应参数替换.参数从0起首编号:

<类型>

表示输出整数和浮点数类型的格式规则。对于整数类型,输出格式包涵陆 种:

  • b: 输出整数的2进制格局;
  • c: 输出整数对应的 Unicode 字符;
  • d: 输出整数的10进制形式;
  • o: 输出整数的八进制方式;
  • x: 输出整数的小写十陆进制情势;
  • X: 输出整数的大写十6进制方式;

    “{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}”.format(425)
    Out[32]: ‘110101001,Ʃ,425,651,1a9,1A9’

对于浮点数类型,输出格式包含4 种:

  • e: 输出浮点数对应的小写字母 e 的指数情势;
  • E: 输出浮点数对应的大写字母 E 的指数方式;
  • f: 输出浮点数的正经浮点方式;
  • %: 输出浮点数的百分样式。

     浮点数输出时尽量选拔<.精度>表示小数部分的肥瘦,有助于越来越好调控输出格式。

"{0:e},{0:E},{0:f},{0:%}".format(3.14)
Out[33]: '3.140000e+00,3.140000E+00,3.140000,314.000000%'

"{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.14)
Out[34]: '3.14e+00,3.14E+00,3.14,314.00%'

 

>>> print('{1}:计算机{0}的CPU占用率为{2}%.'.format('python', '2017-09-30', 10))
2017-09-30:计算机python的CPU占用率为10%.
>>> print('{1}:计算机{0}的CPU占用率为{2}%.'.format('python', '2017-09-30', 10))
2017-09-30:计算机python的CPU占用率为10%.
>>> print('{1}:计算机{0}的CPU占用率为{2}%.'.format('python', '2017-09-30', 10))
2017-09-30:计算机python的CPU占用率为10%.

除了那么些之外通过序号来钦赐填充的参数外,还能通过首要字参数,下标,字典的key和目标的质量来填充

除却通过序号来钦命填充的参数外,还足以经过机要字参数,下标,字典的key和对象的性质来填充

除开通过序号来钦赐填充的参数外,还能够由此重视字参数,下标,字典的key和目的的性质来填充

>>> print('{date}:计算机{process}的CPU占用率为{per}%.'.format(date='2017-09-30', process='python', per=10))    # 关键字参数
2017-09-30:计算机python的CPU占用率为10%.
>>> print('I am {arg[0]}, I love {arg[1]}'.format(arg=arg))    # 下标
I am Liu, I love python

>>> person = {'name': 'Liu', 'age': 24, 'job': 'Pythoneer'}
>>> print('I am {person[name]}, {person[age]} years old, a {person[job]}.'.format(person=person))
I am Liu, 24 years old, a Pythoneer.

Class Person():
    def __init__(self):
        self.name, self.age, self.job = 'Liu', 24, 'Pythoneer'
>>> me = Person()
>>> print('I am {me.name}, {me.age} years old, a {me.job}'.format(me=me))
I am Liu, 24 years old, a Pythoneer.
>>> print('{date}:计算机{process}的CPU占用率为{per}%.'.format(date='2017-09-30', process='python', per=10))    # 关键字参数
2017-09-30:计算机python的CPU占用率为10%.
>>> print('I am {arg[0]}, I love {arg[1]}'.format(arg=arg))    # 下标
I am Liu, I love python

>>> person = {'name': 'Liu', 'age': 24, 'job': 'Pythoneer'}
>>> print('I am {person[name]}, {person[age]} years old, a {person[job]}.'.format(person=person))
I am Liu, 24 years old, a Pythoneer.

Class Person():
    def __init__(self):
        self.name, self.age, self.job = 'Liu', 24, 'Pythoneer'
>>> me = Person()
>>> print('I am {me.name}, {me.age} years old, a {me.job}'.format(me=me))
I am Liu, 24 years old, a Pythoneer.
>>> print('{date}:计算机{process}的CPU占用率为{per}%.'.format(date='2017-09-30', process='python', per=10))    # 关键字参数
2017-09-30:计算机python的CPU占用率为10%.
>>> print('I am {arg[0]}, I love {arg[1]}'.format(arg=arg))    # 下标
I am Liu, I love python

>>> person = {'name': 'Liu', 'age': 24, 'job': 'Pythoneer'}
>>> print('I am {person[name]}, {person[age]} years old, a {person[job]}.'.format(person=person))
I am Liu, 24 years old, a Pythoneer.

Class Person():
    def __init__(self):
        self.name, self.age, self.job = 'Liu', 24, 'Pythoneer'
>>> me = Person()
>>> print('I am {me.name}, {me.age} years old, a {me.job}'.format(me=me))
I am Liu, 24 years old, a Pythoneer.

发表评论

电子邮件地址不会被公开。 必填项已用*标注