Python字符串格式化输出的方式,简述Python中字符串格式化使用的符号

  Python字符串格式化输出的方式,简述Python中字符串格式化使用的符号

  程序的输出可以采取多种形式:我们可以将数据以人类可读的形式打印在屏幕上,或者将其写入文件供后续使用。

  格式化输出

  到目前为止,Python中输出值的方式有两种:表达式语句和print()函数。(第三种方法是使用file对象的write()方法;标准文件输出可以参考sys.stdout方法,具体可以参考库参考手册。)

  通常,您希望控制程序输出的格式,而不仅仅是打印由空格分隔的值。在Python中,有如下几种打印格式方法:

  使用f字符串字符串。这样的字符串需要在引号前以F或F开头。您可以使用{和}包装想要嵌入字符串的Python表达式。表达式可以是变量或文字值。

  年份=2016年;event=公投

  { year } { event }的结果

  2016公投结果 str.format()是第二种格式化字符串的方式。与第一种方法相比,这种方法需要你做更多的操作。仍然可以在字符串中使用{和}来嵌入变量,也可以进行详细的格式化设计。但这需要你提供与之对应的格式化内容。

  当然,您也可以通过分割和连接字符串来格式化字符串。这个方法可以创建任何你想要的格式。在字符串类型中,有一些方法可以用指定的列宽填充字符串。

  如果在调试过程中只想打印一些变量而不打印格式,也可以使用repr()函数或str()函数将任意值转换成字符串。

  str()函数可以以人类可读的形式呈现值,而repr()函数以解释器可读的形式呈现值(如果没有相应的转换语法,将生成SyntaxError异常)。如果一个对象不适合人类可读的形式,str()函数的返回值与repr()函数的返回值相同。在Python中,数值、链表、字典等结构。以上两个功能都有自己统一的呈现方式。但是对于字符串来说,以上两个函数都有自己独特的呈现方式。

  下面的例子:

  你好,世界。

  字符串

  “你好,世界,”

  报告

  \ \ 你好,世界。

  str(1/7)

  0.14285714285714285

  x=10*3.25

  y=200*200

  s=Thevalueofxis repr(x),而is repr(y) .

  印刷品

  值是32.5,是40000.

  #对于字符串,repr()函数添加引号和反斜杠:

  .hello=hello,world\n

  hellos=repr(你好)

  打印(你好)

  你好,世界\n

  #repr()函数的参数也可以是Python对象:

  .是

  pr((x,y,('spam','eggs')))

  "(32.5,40000,('spam','eggs'))"string 模块包含 Template 类来提供额外的在字符串中嵌入变量的方法。该方法使用占位符,比如 $x 来内嵌变量,变量的值存放在字典中。这种方法对字符串的格式化控制较少。

  格式化字符串文字

  格式化字符串文字 (简称 f-strings )允许你在字符串中包含 Python 表达式的值,方法是在字符串前面加上 f 或者 F ,并将表达式写成 {expression} 格式。

  在表达式后面可以加上格式说明符。这样能够更好地控制表达式值的输出格式。下面的例子将 PI 舍入到小数位数后三位。

  

>>>importmath

  >>>print(f'Thevalueofpiisapproximately{math.pi:.3f}.')

在':'之后加上一个整数表示该字段的最小字符数,这对于列排序很有用。

  

>>>table={'Sjoerd':4127,'Jack':4098,'Dcab':7678}

  >>>forname,phoneintable.items():

  ...print(f'{name:10}==>{phone:10d}')

  ...

  Sjoerd==>4127

  Jack==>4098

  Dcab==>7678

也可用其他修饰符来转换要格式化的值。'!a'表示应用ascii()函数 ,'!s'表示应用str()函数, 另外'!r'表示应用repr()函数:

  

>>>animals='eels'

  >>>print(f'Myhovercraftisfullof{animals}.')

  Myhovercraftisfullofeels.

  >>>print('Myhovercraftisfullof{animals!r}.')

  Myhovercraftisfullof'eels'.

有关这些格式规范的参考,请参阅参考指南 最小字符串格式化。

  format () 字符串格式化方法

  str.format() 的基本使用方法如下:

  

>>>print('Wearethe{}whosay"{}!"'.format('knights','Ni'))

  Wearetheknightswhosay"Ni!"

其中的括号和字符(称为格式字段)将用传入str.format()方法中的对象来替换。括号中的数字可用于表示传递给str.format()方法的对象的位置。

  

>>>print('{0}and{1}'.format('spam','eggs'))

  spamandeggs

  >>>print('{1}and{0}'.format('spam','eggs'))

  eggsandspam

如果在str.format()方法中使用关键字参数,其值等于参数名称对应的值。

  

>>>print('This{food}is{adjective}.'.format(

  ...food='spam',adjective='absolutelyhorrible'))

  Thisspamisabsolutelyhorrible.

位置和关键字参数可以任意组合:

  

>>>print('Thestoryof{0},{1},and{other}.'.format('Bill','Manfred',

  other='Georg'))

  ThestoryofBill,Manfred,andGeorg.

如果你有一个不想拆分的长字符,使用名称而不是位置来进行格式化将会是一个更好的方法。这可以简单的使用'[]'符号来获取字典中的键

  

>>>table={'Sjoerd':4127,'Jack':4098,'Dcab':8637678}

  >>>print('Jack:{0[Jack]:d};Sjoerd:{0[Sjoerd]:d};'

  ...'Dcab:{0[Dcab]:d}'.format(table))

  Jack:4098;Sjoerd:4127;Dcab:8637678

上面的方法也可以使用 '**' 将字典中的信息进行传递。

  

>>>table={'Sjoerd':4127,'Jack':4098,'Dcab':8637678}

  >>>print('Jack:{Jack:d};Sjoerd:{Sjoerd:d};Dcab:{Dcab:d}'.format(**table))

  Jack:4098;Sjoerd:4127;Dcab:8637678

传统字符串格式化方法

  操作符 '%' 同样可以被用来格式化字符串。它将该操作符左侧参数解释为'sprintf ()' 样式的字符串应用到操作符右侧参数,并且返回字符串。例如:

  

>>>importmath

  >>>print('Thevalueofpiisapproximately%5.3f.'%math.pi)

  Thevalueofpiisapproximately3.142.

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用js实现数据格式化命令,使用js实现数据格式化的方法
  • 使用js实现数据格式化命令,使用js实现数据格式化的方法,使用js实现数据格式化
  • sql 时间格式化函数怎么用,sqlserver时间格式化函数
  • sql 时间格式化函数怎么用,sqlserver时间格式化函数,SQL 时间格式化函数
  • Linux磁盘格式化命令,linux格式化整个磁盘的命令
  • Linux磁盘格式化命令,linux格式化整个磁盘的命令,Linux磁盘格式化命令详解
  • js获取当前日期并格式化,js获取当前时间年月日并输出
  • js获取当前日期并格式化,js获取当前时间年月日并输出,JS获取当前时间的年月日时分秒及时间的格式化的方法
  • js格式化时间的方法是什么,js 格式化时间
  • js格式化时间的方法是什么,js 格式化时间,js格式化时间的方法
  • js格式化时间格式,js格式化时间字符串
  • js格式化时间格式,js格式化时间字符串,JS格式化时间的几种方法总结
  • js中时间格式化的几种方法有哪些,js中时间格式化的几种方法是什么
  • js中时间格式化的几种方法有哪些,js中时间格式化的几种方法是什么,js中时间格式化的几种方法
  • windows命令行格式化硬盘,格式化将清除磁盘中的所有文件
  • 留言与评论(共有 条评论)
       
    验证码: