python中格式化字符串的几种方式,python如何格式化字符串

  python中格式化字符串的几种方式,python如何格式化字符串

  简介f-string也称格式化字符串literal,是Python3.6中引入的一种新的字符串格式化方法,这种方法起源于pep 498——literal string interpolation,其主要目的是使格式化字符串的操作更加简单。F-string是形式上由F或F修饰符引导的字符串(fxxx 或Fxxx ),被替换的字段用花括号{}表示;F-string本质上不是一个字符串常量,而是一个在运行时计算的表达式:

  虽然其他字符串总是有一个常量值,但格式化字符串实际上是在运行时计算的表达式。

  (与其他具有常量值的字符串常量不同,格式化字符串实际上是由运行时操作计算的表达式。)

  —— Python文档

  F-string在功能上不逊于传统的%-formatting语句和str.format()函数,性能也优于两者,使用起来更加简洁明了。因此,对于Python3.6及更高版本,建议使用f-string进行字符串格式化。

  这部分用法主要指以下材料:

  Python文档格式化字符串LiteralsPython文档格式化字符串syntax exp 498文字字符串插值Python 3的f-strings:改进的字符串格式化语法的高级用法(指南)Python 3 f-string格式化字符串Python 3:f-Strings简介只需使用f-String用花括号{}表示被替换的字段,并直接填写替换内容:

  name=Eric f 你好,我叫{name} 你好,我叫Eric number=7 f 我的幸运数字是{number} 我的幸运数字是7 price=19.99 f 这本书的价格是{price}这本书的价格是19.99 的花括号{}表达式求值和函数调用f-string可以填入表达式或函数调用中,Python会找到结果并填入返回的字符串中:

  f 总数{24 * 8 4} 总数196 f 复数{(2 ^ 2j)/(2-3j)} 复数(-0.15384615384615388 0.7692307692307692j) name= ERIC f 我叫{name.lower()}我叫Eric import math f 答案是{math.log (math.pi)} 答案是

  f I am { Eric } I am Eric f I am { Eric } file stdin ,line1f I am {Eric} 语法错误:无效语法如果和不足以满足要求,也可以使用 和 。

  f 他说{ 我是埃里克 } 文件标准输入,第1行f 他说{ 我是埃里克 } ^SyntaxError:无效语法f 他说{ 我是埃里克 } 文件标准输入,1 f 他说{ 我是埃里克 } 语法错误:无效语法f 他说{ 我是埃里克 } 他说我是埃里克 f 他说{ 我是埃里克 } 他说。

  f 他会说{ 我是埃里克 } 他会说我是埃里克 f 他会说{ 我是埃里克 } File stdin ,1行语法错误:f-string表达式部分不能在花括号外包含反斜杠f-string。如果需要显示花括号,应该输入两个连续的花括号{ {和}}:

  f 5 { { stars } } 5 { stars } f { 5 } { stars } { 5 } stars 如上所述,在f字符串大括号中不能使用\ escape。事实上,不仅如此,\根本不允许出现在f字符串大括号中。如果真的需要\,应该先把包含\的内容表示成一个变量,然后在f串花括号里填上变量名:

  f newline:{ ord( \ n )} file stdin ,line1语法错误:f-string表达式部分不能包含反斜杠newline=ord( \ n )f newline:{ newline } newline:10 f-string f-string f-。

  你好!\.“我是{姓名}”\.“我是{年龄}”你好!我是埃里克。我27岁了。‘你好!我是{name}.我{年龄}。 你好!\n我是埃里克。\n我27了。自定义格式:对齐、宽度、符号、零填充、精度、小数等。f-string采用{content:format}设置字符串格式,其中content是字符串中要替换和填充的内容,可以是变量、表达式、函数等。格式是格式描述符。使用默认格式时不必指定{:format},只需按照上面的例子写{content}即可。

  关于格式描述符的详细语法和含义,请参考Python官方文档。这里根据使用时的先后顺序简要介绍常用格式描述符的含义和作用:

  对齐相关格式描述符格式描述通配符和动作左对齐(字符串默认对齐)右对齐(数值默认对齐)居中数字符号相关格式描述符格式描述通配符和动作负数带负号(-),正数带加号()-负数带负号(-),正数不带任何符号(默认) (

  数字显示方式相关格式描述符格式描述野石头及功能#切换数字显示模式注1:仅适用于数值型。

  注意:#对不同的数值类型有不同的影响。有关详细信息,请参见下表:

  对于数字类型,没有#(默认)加上#。区分0b八进制整数 111011 0b111011 是否显示在0b八进制整数 1730o173 是否显示在0o十进制整数 123123 无差别十六进制整数(小写字母) 7b0x7b 是否显示在0x7b (大写字母0相关格式描述符格式描述符wild stone与动作宽度整数宽度指定宽度0width整数宽度指定宽度,顶部0用0指定宽度。precision integer width指定宽度,integer precision指定显示精度注1: 0 width不能用于复杂和非数字类型,width.precision不能用于整数类型。

  注:宽度。precision用于不同格式类型的浮点数和复数时有不同的含义:用于F、F、E、E和%时,precision指定小数点后的位数;当用于G和G时,precision指定有效位数(小数点前的位数和小数点后的位数)。

  注:宽度。除了浮点数和复数之外,precision还可以用于字符串。在这种情况下,精度意味着只使用字符串中的第一个精度字符。

  示例:

  a=123.456 fa是{ a:8.2f }”a是123.46“f a是{ a:08.2f }”a是00123.46“f a是{ a:8.2e }”a是1.23 e 02“f a是{ a:8.2% }”a是12345.60%“f a是{ a:8.2g }”a是1.2e 02“s=你好”f

  注意:只适用于浮点数、复数和十进制整数:对于浮点数和复数,只分隔小数点前的位数。

  注意:_适用于浮点数、复数以及二、八、十和十六进制整数:对于浮点数和复数,_只分隔小数点前的位数;对于二进制、八进制和十六进制整数,从低到高每四位插入一个_(十进制整数每三位插入一个)。

  示例:

  a=1234567890.098765 fa是{a:f}a是1234567890.098765 fa是{ a:f } a是1234567890.098765 f a是{a:_f}a是1 _ 234 _ 567 _ 890.098765 b=12345678888

  描述格式的野石头和功能。适用变量类型s普通字符串格式string b二进制整数格式integer c字符格式,将整数转换为对应的字符integer d十进制整数格式integer o八进制整数格式integer x十六进制整数格式(小写字母)integer x十六进制整数格式(大写字母)integer e科学计数格式,E代表 10浮点数、复数和整数(自动转换为浮点数)。E等价于E,但E表示 10的浮点数、复数和整数(自动转换为浮点数)。默认精度为6位浮点数、复数和整数(自动转换为浮点数)。F等价于F,但是,nan和inf在通用格式G中被替换为NAN和INF浮点数、复数、整数(自动转换为浮点数),小数为F,大数为E浮点数、复数、整数(自动转换为浮点数)。G相当于G,但小数是F,大数是E浮点数、复数、整数(自动转换为浮点数)%百分比格式。数字自动乘以100,然后以F格式排版。添加%后缀浮点数和整数(自动转换为浮点数)。常用的特殊格式类型:标准库datetime给出的格式类型,适用于date、datetime、time对象。

  野石格式描述显示样本%a星期几(缩写) Sun%A星期几(全名) Sunday%w星期几(数字,0是星期日,6是星期六) 0%u星期几(数字,1是星期一,7是星期日) 7%d天(数字,两位数用0填充) 00用0完成两位数 08%y年(最后两位数,两位数用0) 14%Y年(完整位数,不为零) 2014%H小时(24小时制, 两位数加0) 23%I小时(12小时制,用0补两位数) 11%p AM/PM%M分钟(用0补两位数) 23%S秒(用0补两位数) 56%f微秒(用0补六位数) 553777%zUTC偏移量(格式为HHMM [SS],如果未指定时区,将返回空字符串) 1030%Z时区名称(如果未指定时区将返回一个空字符串) EST%j一年中的某一天(三位数填充为0) 195%U一年中的某一周(一年中第一个星期日之后的一周是第0周,两位数填充为0) 27%w一年中的某一周(0组成两位数) 28%V一年中的某一周(将一年中包括1月4日在内的第一周作为第一周, 并以0补足两位数) 28 综合示例A=1234f a是{a: # 10x} #居中,宽度10位和一个十六进制整数(大写字母),0x显示前缀 A是0x4D2 b=1234.5678F B是{B: 10.2F} #左对齐,宽度10位,显示加号(),定点格式,2位小数 B是1234.57 C=12345678F 678 d=0.52.5j f d是{d: 30.3e} #宽度30位,科学计数法,3位小数 d是5.000e-01 2.500e00j 导入日期时间e=datetime.datetime.today () f 时间是{ e:% y-% m-% d(% a)% h:% m:% s } # Datetime时间格式时间是2018-07-14 (SAT) 20: 46: 02 lambda表达式可以为了避免歧义,有必要将lambda表达式放在括号()中:

   f 结果为{lambda x: x ** 2 1 (2)} 文件 fstring ,第1行(lambda x) ^SyntaxError:分析f 结果为{(lambda x: x ** 2 1) (2)} 结果为5 f 结果为{(lambda x: x ** 2 1) (2): 7.2f} 结果为5.00

郑重声明:本文由网友发布,不代表盛行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命令行格式化硬盘,格式化将清除磁盘中的所有文件
  • 留言与评论(共有 条评论)
       
    验证码: