相关链接

  • 目录
  • Mac M1 Python环境搭建
  • Python3.x入门 P1 【基础】基础语法、注释、标识符、变量、数据类型、键盘录入input
  • Python3.x入门 P2 【基础】运算符
  • Python3.x入门 P3 【基础】流程语句【循环结构】
  • Python3.x入门 P4 【基础】序列 - 公共方法总结
  • Python3.x入门 P5 【基础】可变序列(列表list、字典dict、集合set)
  • Python3.x入门 P6 【基础】不可变序列(元组tuple、字符串str)
  • Python3.x入门 P7 【字符串格式化】四种方式(手动、%-formatting、str.format()、f-String)
  • Python3.x入门 P8 【函数】
  • Python3.x入门 P9 【异常Error】常见Error、异常捕获try catch

目录

  • 一、字符串格式化
    • 1.1 格式化初体验
    • 1.2 Python官方文档
    • 1.3 格式规范迷你语言
    • 1.4 语法示例
  • 二、%-formatting
    • 2.1 【flags】对齐方式、正负号
    • 2.2 【width】总长度
    • 2.3 【percision】有效位数
    • 2.4 【typecode】数据类型
    • 2.5 【#】8、16进制符号
  • 三、str.format()
    • 3.1 【fill】填充字符
    • 3.2 【align】对齐方式
    • 3.3 【sign】数字正负号
    • 3.4 【width】总长度
    • 3.5 【,】数字分隔符
    • 3.6 【percision】有效位数
    • 3.7 【#】2,8,16进制符号
    • 3.8 【typecode】数据类型
    • 3.9 %-formatting 对比 str.format()
  • 四、f-String
    • 累了,不想测了

一、字符串格式化

  • 目的:更漂亮的输出格式
  • 版本:3.8.9(不同版本测试结果可能会有出入)

1.1 格式化初体验

1) 手动Manual String Formatting。此方式能实现的效果有限,一般只能做简单的格式处理。此方式在后文中不做详细介绍。

通过如下方法进行对齐操作center(): 居中对齐,第1个参数指定宽度,第2个参数指定填充符,第2个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串ljust(): 左对齐,第1个参数指定宽度,第2个参数指定填充符,第2个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串rjust(): 右对齐,第1个参数指定宽度,第2个参数指定填充符,第2个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串zfill(): 右对齐,左边用0填充,第1个参数指定宽度,如果设置宽度小于实际宽度则返回原字符串
案例
# 对齐格式输出
for x in range(1, 11):print(str(x).rjust(2), str(x * x).rjust(3), end=' ')# Note use of 'end' on previous lineprint(str(x * x * x).rjust(4))
'''1   1    12   4    83   9   274  16   645  25  1256  36  2167  49  3438  64  5129  81  729
10 100 1000
'''

2) %-formattingOld string formatting。此方式从一开始就在Python语言中。
其效果类似于在 C 语言中使用 %format % values%sprintf()。一些历史遗留bug导致可能会无法正确显示元组(tuples)和字典(dictionaries),官方文档中建议使用str.format() 。

案例
# 1.顺序定位
print('%s has %03d quote types.' % ('Python', 2))  # Python has 002 quote types.# 2.关键字参数
print('%(language)s has %(number)03d quote types.' %{'language': "Python", "number": 2})  # Python has 002 quote types.

3) str.format()The String format() method。此方式从Python2.6开始引入。可以在Python官方更新日志中的PEP3101找到str.format()的详细用法。str.format()  是对 %-formatting 的改进。它使用正常的函数调用语法,并且可以通过正在转换为字符串的对象上的 format() 方法进行扩展。

案例
"""@author GroupiesM@date 2022/6/28 16:27@introduction
"""
# 1.顺序定位
print(1, 'We are the {} who say "{}!"'.format('knights', 'Ni'))  # We are the knights who say "Ni!"# 2.数字定位
print(2, '{0} and {1}'.format('spam', 'eggs'))  # spam and eggs
print(2, '{1} and {0}'.format('spam', 'eggs'))  # eggs and spam# 3.关键字参数
print(3, 'This {food} is {adjective}.'.format(food='spam', adjective='absolutely horrible'))  # This spam is absolutely horrible.# 4.数字定位 + 关键字参数
print(4, 'The story of {0}, {1}, and {other}.'.format('Bill', 'Manfred', other='Georg'))  # The story of Bill, Manfred, and Georg.# 5.拆分字典
table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}
print(5, 'Jack: {0[Jack]:d}; Sjoerd: {0[Sjoerd]:d}; ''Dcab: {0[Dcab]:d}'.format(table))  # Jack: 4098; Sjoerd: 4127; Dcab: 8637678# 6.解压字典
table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}
print(6, 'Jack: {Jack}; Sjoerd: {Sjoerd}; Dcab: {Dcab}'.format(**table))  # Jack: 4098; Sjoerd: 4127; Dcab: 8637678# 7.解压字典(指定类型)
table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}
print(7, 'Jack: {Jack:d}; Sjoerd: {Sjoerd:d}; Dcab: {Dcab:d}'.format(**table))  # Jack: 4098; Sjoerd: 4127; Dcab: 8637678# 8.拆分列表
lst = [4127, 4098, 8637678]
print(8, 'Jack: {0[1]:d}; Sjoerd: {0[0]:d}; ''Dcab: {0[2]:d}'.format(lst))  # Jack: 4098; Sjoerd: 4127; Dcab: 8637678# 9.解压列表(默认排序)
lst = [4127, 4098, 8637678]
print(9, 'Jack: {}; Sjoerd: {}; ''Dcab: {}'.format(*lst))  # Jack: 4127; Sjoerd: 4098; Dcab: 8637678# 10.解压列表(指定排序)
lst = [4127, 4098, 8637678]
print(10, 'Jack: {1}; Sjoerd: {0}; ''Dcab: {2}'.format(*lst))  # Jack: 4098; Sjoerd: 4127; Dcab: 8637678# 11.解压集合(默认排序)
st = {4127, 4098, 8637678}
print(11, 'Jack: {}; Sjoerd: {}; ''Dcab: {}'.format(*st))  # Jack: 4127; Sjoerd: 4098; Dcab: 8637678# 12.解压集合(指定排序)
st = {4127, 4098, 8637678}
print(12, 'Jack: {1}; Sjoerd: {0}; ''Dcab: {2}'.format(*st))  # Jack: 4098; Sjoerd: 4127; Dcab: 8637678# 13.拆分元组
tup = (4127, 4098, 8637678)
print(13, 'Jack: {0[1]:d}; Sjoerd: {0[0]:d}; ''Dcab: {0[2]:d}'.format(tup))  # Jack: 4098; Sjoerd: 4127; Dcab: 8637678# 14.解压元组(默认排序)
tup = (4127, 4098, 8637678)
print(14, 'Jack: {}; Sjoerd: {}; ''Dcab: {}'.format(*tup))  # Jack: 4127; Sjoerd: 4098; Dcab: 8637678# 15.解压元组(指定排序)
tup = (4127, 4098, 8637678)
print(14, 'Jack: {1}; Sjoerd: {0}; ''Dcab: {2}'.format(*tup))  # Jack: 4098; Sjoerd: 4127; Dcab: 8637678# 16.遍历格式化
for x in range(1, 11):print(15, '{0:2d} {1:3d} {2:4d}'.format(x, x * x, x * x * x))
'''    1   1    12   4    83   9   274  16   645  25  1256  36  2167  49  3438  64  5129  81  729
10 100 1000
'''

4) f-StringFormatted String Literalsf-String是指在字符串中直接使用Python变量,需要在字符串前加f或F标注。这种方式对数据处理更加灵活,甚至可以将变量代入函数后,输出结果。

案例
# 1. 3.8新特性
name, score = '张三', 45.6
print(f'name={name}, score={score:.3f}')  # Python3.6 name=张三, score=45.600
print(f'{name=}, {score=:.3f}')  # Python3.8 name='张三', score=45.600# 2.pi保留小数点后三位
import mathprint(f'The value of pi is approximately {math.pi:.3f}.')  # The value of pi is approximately 3.142.# 3.列对齐
table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678}
for name, phone in table.items():print(f'{name:10} ==> {phone:10d}')
'''
Sjoerd     ==>       4127
Jack       ==>       4098
Dcab       ==>       7678
'''# 4.格式转换 【ascii()=!a】、【str()=!s】、【repr=!r】
animals = 'eels'
print(f'My hovercraft is full of {animals}.')  # My hovercraft is full of eels.
print(f'My hovercraft is full of {animals!r}.')  # My hovercraft is full of 'eels'.# 5.嵌套计算 name='张三', (height+2)=182.40
name, age, height = '张三', 20, 180.4
print(f'{name=}, {(height+2)=:.2f}')# 6.嵌套函数 name='张三', sum(height,3)=183.40
name, age, height = '张三', 20, 180.4
def sum(a, b):return a + b
print(f'{name=}, {sum(height,3)=:.2f}')

1.2 Python官方文档

百度搜不清楚的资料,或者不明确的,一切以官方文档+本地测试结果为准:
The Python Tutorial-Python教程

Fancier Output Formatting-更漂亮的输出格式


1.3 格式规范迷你语言

关于 Format Specification Mini-Language,其格式在str.format()以及f-String是类似通用的,但也有一些细微差别。这部分摘自官方文档,仅做翻译。

语法树   format_spec     ::=  [[fill]align][sign][#][0][width][grouping_option][.precision][type]
填充符   fill            ::=  <any character>
对齐方式  align           ::=  "<" | ">" | "=" | "^"
符号选项  sign            ::=  "+" | "-" | " "
总长度   width            ::=  digit+
分组选项  grouping_option ::=  "_" | ","
有效数字  precision       ::=  digit+
数据类型  type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
align-对齐方式
选项 含义
‘<’ 强制字段在可用空间内左对齐(这是大多数对象的默认设置)。
‘>’ 强制字段在可用空间内右对齐(这是数字的默认值)。
‘=’ 强制将填充放在符号(如果有)之后,但放在数字之前。这用于打印格式为“+000000120”的字段。
此对齐选项仅对数值类型有效。当“0”紧跟在字段宽度之前时,它将成为默认值。
‘^’ 强制字段在可用空间内居中。
sign-符号选项

符号选项仅对数字类型有效,并且可以是以下选项之一:

选项 含义
‘+’ 表示正数前添加’+‘,负数前添加’-'。
‘-’ 表示正数不添加,负数前添加’-'(默认选项)。
不填 表示正数前添加’ ‘,负数前添加’-'。
type-数据类型

1.字符型

选项 含义 函数
‘s’ 字符串格式。(默认选项) str()
不填 与’s’相同。

2.整数型(%-formatting不支持参数b,%-formatting不支持参数不填)

选项 含义 函数
‘b’ 二进制格式。输出以 2 为基数的数字。 bin()
‘c’ 字符。在打印之前将整数转换为相应的 unicode 字符。 chr()
‘d’ 十进制整数。输出以 10 为基数的数字。
‘o’ 八进制格式。输出以 8 为基数的数字。 oct()
‘x’ 十六进制格式。输出以 16 为基数的数字,对 9 以上的数字使用小写字母。 hex()
‘X’ 十六进制格式。输出以 16 为基数的数字,对 9 以上的数字使用大写字母。 hex()
‘n’ 与’d’相同。
不填 与’d’相同。

3.浮点型

选项 含义 函数
‘e’ 科学记数法。对于给定的精度,用科学记数法格式化数字,用字母“e”将系数与指数分开。
该系数在小数点之前有一位数字,在小数点之后有一位数字,总共有一位有效数字。
在没有给出精度的情况下,使用小数点后的数字精度作为浮点数,并显示十进制的所有系数数字。
如果小数点后面没有数字,则除非使用该选项,否则也会删除小数点。
‘E’ 与’e’相同,但用字母"E"将系数与指数分开。
‘f’ 定点表示法。将整数、浮点数转换成浮点数表示。按照指定percision保留小数,如果未指定默认保留6位小数。
‘F’ 与’f’相同。区别是’f’ :nan(无穷小),inf(无穷大),‘F’ :NAN(无穷小),INF(无穷大)。
‘g’ 常规格式。自动调整将整数、浮点数转换成 浮点型或科学计数法表示。
‘G’ 与’g’相同。区别参考’e’与’E’,和’f’与’F’
‘n’ 与’g’相同。
‘%’ 百分比。将数字乘以100,加上百分号,默认保留6位小数
不填 与’d’相同。

1.4 语法示例

1. %-formatting

"""
格式一:1.一个参数:print('我叫%s' % name) # 可以省略括号2.多个参数:print('我叫%s,今年%d岁' % (name, age))
"""
name, age, height = '张三', 20, 180.4
print('%s' % name)  # 张三
print('%s--%f' % (name, height))  # 张三--180.400000"""
格式二:1.一个参数:print('%(name)s' % {'name': '张三'})2.多个参数:print('%(name)s--%(age)d' % {'name': '张三', 'age': 18})
"""
name, age, height = '张三', 20, 180.4
print('%(name)s' % {'name': '张三'})  # 张三
print('%(name)s--%(age)d' % {'name': '张三', 'age': 18})  # 张三--18

2. str.format()

"""方式一:指定参数"""
'''1.1 不设置指定位置,按默认顺序'''
name, age, height = '张三', 20, 180.4
print(1.1, '我叫{},我叫{},今年{}岁,身高{}'.format(name, name, age, height, ))  # 我叫张三,我叫张三,今年20岁,身高180.4'''1.2 设置指定位置'''
name, age, height = '张三', 20, 180.4
print(1.2, '我叫{0},我叫{0},今年{1}岁,身高{2}'.format(name, age, height))  # 我叫张三,我叫张三,今年20岁,身高180.4'''1.3 设置参数
网站名:菜鸟教程, 地址 www.runoob.com
'''
name, age, height = '张三', 20, 180.4
print(1.3, '网站名:{name}, 地址 {url}'.format(name="菜鸟教程", url="www.runoob.com"))'''方式二:通过序列获取'''
'''2.1 通过字典dict设置参数(解包)
网站名:菜鸟教程, 地址 www.runoob.com
'''
name, age, height = '张三', 20, 180.4
site_dict = {"name": "菜鸟教程", "url": "www.runoob.com"}
print(2.1, "网站名:{name}, 地址 {url}".format(**site_dict))  # 使用**解包操作'''2.2 通过字典dict设置参数(不解包)
网站名:菜鸟教程, 地址 www.runoob.com
'''
name, age, height = '张三', 20, 180.4
site_dict = {"name": "菜鸟教程", "url": "www.runoob.com"}
print(2.2, "网站名:{0[name]}, 地址 {0[url]}".format(site_dict))  # "0" 是固定写法 使用[]访问字典'''2.3 通过列表list索引设置参数
网站名:菜鸟教程, 地址 www.runoob.com
'''
name, age, height = '张三', 20, 180.4
my_list = ['菜鸟教程', 'www.runoob.com']
print(2.3, "网站名:{}, 地址 {}".format(*my_list))  # 使用*解包操作'''2.4 通过列表list索引设置参数
网站名:菜鸟教程, 地址 www.runoob.com
'''
name, age, height = '张三', 20, 180.4
my_list = ['菜鸟教程', 'www.runoob.com']
print(2.4, "网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是固定写法的

3. f-String

# 小写f
name, age, height = '张三', 20, 180.4
print(f'我叫{name},我叫{name},今年{age}岁,身高{height}')  # 我叫张三,我叫张三,今年20岁,身高180.4# 大写F
name, age, height = '张三', 20, 180.4
print(F'我叫{name},我叫{name},今年{age}岁,身高{height}')  # 我叫张三,我叫张三,今年20岁,身高180.4

二、%-formatting

"""@author GroupiesM@date 2022/6/22 14:20@introduction 字符串格式化-方式1 %【不推荐】1.简介%号格式化字符串的方式从Python诞生之初就已经存在。目前,Python官方没有弃用这种方式,但也不推荐这种方式。2.%格式符语法语法一:'${flags}%${width}${.percision}%${typecode}' % ${content}语法二:%(${name})${#}${flags}${width}${.precision}%${typecode} % ${{'k1':v1,'k2':v2,...}}${name}    【可选】,用于选择指定的key${#}       【可选】对于八进制(oct)、十六进制(hex),如果加上#,会显示0o/0x,否则不显示${flags}   【可选】,对齐方式、正负号,可供选择的值有:【+、-、 、0】+ 右对齐:正数的加正号,负数的加负号- 左对齐:正数前没有负号,负数前加负号空格 右对齐:正数前加空格,负数前加负号;0 右对齐:正数前无符号,负数前加负号;用0填充空白处${width}        【可选】,总长度(不足位数补空格)${.precision}    【可选】,有效位数${typecode}     【必选】,数据类型、格式1)传入"字符串类型"的参数s,获取传入的对象 str() 方法的返回值(字符串-供人阅读),并将其格式化到指定位置r,获取传入对象的 repr() 方法的返回值(字符串-供解释器使用),并将其格式化到指定位置空白,未指定类型,则默认s2)传入"整数类型"的参数c,获取传入对象的 chr() 方法的返回值(unicode对应值),10进制范围为0 <= i <=1114111--%格式符:没有b(2进制数字)方法,format格式化可以支持--d,10进制整数o,获取传入对象的 oct() 方法的返回值(8进制数字),并将其格式化到指定位置x,获取传入对象的 hex() 方法的返回值(16进制数字),并将其格式化到指定位置(英文小写)X,获取传入对象的 hex() 方法的返回值(16进制数字),并将其格式化到指定位置(英文大写)3)传入"浮点型或小数类型"的参数e,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)E,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)f,将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)F,同上g,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)G,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)%,将数字乘以100,加上百分号,默认保留6位小数。当字符串中存在格式化标志时,需要用%%表示一个百分号。${content}    【必选】,要格式化的内容
"""
'''完整语法示例1:
-16.91) ${flag} = '0' 右对齐:正数前无符号,负数前加负号;用0填充空白处2) ${width} = '10' 总长度(不足位数补空格)3) ${precision} = '5,有效位数4) ${typecode} = 'f','数据类型float
'''
print('%(money)#010.5f' % {'money': -16.9})# -016.90000
'''完整语法示例2:
1001) ${flag} = '+' 右对齐:正数的加正号,负数的加负号2) ${#} = '#' 对于二进制(bin)、八进制(oct)、十六进制(hex),如果加上#,会显示0b/0o/0x,否则不显示3) ${width} = '10' 总长度(不足位数补空格)4) ${precision} = '5',有效位数5) ${typecode} = 'f',数据类型float
'''
print('%(money)#+10d' % {'money': 100}) #   +0o00144

2.1 【flags】对齐方式、正负号

"""@author GroupiesM@date 2022/6/23 16:26@introduction2.%格式符语法语法一:'${flags}%${width}${.percision}%${typecode}' % ${content}语法二:%(${name})${#}${flags}${width}${.precision}%${typecode} % ${{'k1':v1,'k2':v2,...}}
"""
name, age, money, height = '张三', 20, -20, 180.4'''
对齐方式、正负号${flags}:【可选】不填 右对齐:正数前加空格,负数前加负号+ 右对齐:正数的加正号,负数的加负号- 左对齐:正数前没有负号,负数前加负号空格 右对齐:正数前加空格,负数前加负号0 右对齐:正数前无符号,负数前加负号;用0填充空白处P.S 1.只有当${width}>内容长度时,对齐方式才有效2.不同${typecode}会影响对齐的方式,下面针对 s字符串、d整数、f浮点型 三种类型测试
'''
print('----s字符串----')
print(1, '%10s' % name)
print(2, '%+10s' % name)
print(3, '%-10s' % name)
print(4, '% 10s' % name)
print(5, '%010s' % name)
'''
1         张三
2         张三
3 张三
4         张三
5         张三
'''print('----d整数----')
print(1, '%10d' % money)
print(2, '%+10d' % money)
print(3, '%-10d' % money)
print(4, '% 10d' % money)
print(5, '%010d' % money)
'''
1        -20
2        -20
3 -20
4        -20
5 -000000020
'''print('----f浮点型----')
print(1, '%15f' % height)
print(2, '%+15f' % height)
print(3, '%-15f' % height)
print(4, '% 15f' % height)
print(5, '%015f' % height)
'''
1      180.400000
2     +180.400000
3 180.400000
4      180.400000
5 00000180.400000
'''

2.2 【width】总长度

"""@author GroupiesM@date 2022/6/23 16:26@introduction2.%格式符语法语法一:'${flags}%${width}${.percision}%${typecode}' % ${content}语法二:%(${name})${#}${flags}${width}${.precision}%${typecode} % ${{'k1':v1,'k2':v2,...}}
"""
name, age, money, height = '张三', 20, -20, 180.4'''
总长度${width}:【可选】%s  不指定长度%1s ${width} < 字符长度,不生效%2s ${width} = 字符长度,不生效%10 ${width} > 字符长度,生效
'''print('%s' % name)
print('%1s' % name)
print('%2s' % name)
print('%10s' % name)
'''
张三
张三
张三张三
'''

2.3 【percision】有效位数

"""@author GroupiesM@date 2022/6/23 16:26@introduction2.%格式符语法语法一:'${flags}%${width}${.percision}%${typecode}' % ${content}语法二:%(${name})${#}${flags}${width}${.precision}%${typecode} % ${{'k1':v1,'k2':v2,...}}
"""
name, age, money, height = '张三', 20, -20, 180.4'''
有效位数${.precision}:【可选】1.字符串:'张三',${.precision}会截取字符串%s   不指定${precision}%.1s ${.precision} < 字符长度,从左到右截取1位 '张'%.2s ${.precision} = 字符长度,不生效%.10 ${.precision} > 字符长度,不生效2.整数:'23',${.precision}超过长度部分在前面补0%d   不指定${precision}%.1d ${.precision} < 整数长度,不生效%.2d ${.precision} = 整数长度,不生效%.10 ${.precision} > 整数长度,超出部分在前面补03.浮点型 '180.45',${precision}表示有效位数(其中浮点型表示:小数点后位数),默认${precision}=6%f   不指定${precision},保留6位小数 '180.450000'%.1f ${.precision} < 字符长度,保留1位小数 '180.4'%.2f ${.precision} = 字符长度,保留2位小数 '180.45'%.15f ${.precision} > 字符长度,保留15位小数 '180.449999999999989'
'''
print('----s字符串----')
print(1, '%s' % name)
print(2, '%.1s' % name)
print(3, '%.2s' % name)
print(4, '%.10s' % name)
'''
1 张三
2 张
3 张三
4 张三
'''
print('----s字符串(指定长度)----')
print(1, '%10s' % name)
print(2, '%10.1s' % name)
print(3, '%10.2s' % name)
print(4, '%10.10s' % name)
'''
1         张三
2          张
3         张三
4         张三
'''print('----d整数----')
print(1, '%d' % age)
print(2, '%.1d' % age)
print(3, '%.2d' % age)
print(4, '%.5d' % age)
'''
1 23
2 23
3 23
4 00023
'''
print('----d整数(指定长度)----')
print(1, '%10d' % age)
print(2, '%10.1d' % age)
print(3, '%10.2d' % age)
print(4, '%10.5d' % age)
'''
1         23
2         23
3         23
4      00023
'''print('----f浮点型----')  # 浮点型按照小数点后位数算起
print(1, '%f' % height)  # 浮点型不指定 默认保留小数点后6位
print(2, '%.1f' % height)
print(3, '%.2f' % height)
print(4, '%.15f' % height)
'''
1 180.400000
2 180.4
3 180.40
4 180.400000000000006
'''
print('----f浮点型(指定长度)----')
print(1, '%10f' % height)  # 浮点型不指定 默认保留小数点后6位
print(2, '%10.1f' % height)
print(3, '%10.2f' % height)
print(4, '%10.15f' % height)
'''
1 180.400000
2      180.4
3     180.40
4 180.400000000000006
'''

2.4 【typecode】数据类型

"""@author GroupiesM@date 2022/6/23 16:26@introduction2.%格式符语法语法一:'${flags}%${width}${.percision}%${typecode}' % ${content}语法二:%(${name})${#}${flags}${width}${.precision}%${typecode} % ${{'k1':v1,'k2':v2,...}}${typecode}     【必选】,数据类型、格式1)传入"字符串类型"的参数s,获取传入的对象 str() 方法的返回值(字符串-供人阅读),并将其格式化到指定位置r,获取传入对象的 repr() 方法的返回值(字符串-供解释器使用),并将其格式化到指定位置空白,未指定类型,则默认s2)传入"整数类型"的参数c,获取传入对象的 chr() 方法的返回值(unicode对应值),10进制范围为0 <= i <=1114111--%格式符:没有b(2进制数字)方法,format格式化可以支持--d,10进制整数o,获取传入对象的 oct() 方法的返回值(8进制数字),并将其格式化到指定位置x,获取传入对象的 hex() 方法的返回值(16进制数字),并将其格式化到指定位置(英文小写)X,获取传入对象的 hex() 方法的返回值(16进制数字),并将其格式化到指定位置(英文大写)3)传入"浮点型或小数类型"的参数e,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)E,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)f,将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)F,同上g,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)G,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)%,当字符串中存在格式化标志时,需要用 %%表示一个百分号
"""
name, age, money, height = '张三', ord('												

6.1_6 Python3.x入门 P7 【字符串格式化】四种方式(手动、%-formatting、str.format()、f-String)相关推荐

  1. C#字符串格式化三种方式

    C#字符串格式化三种方式 //$字符串格式化,用对象名称定位(类似模板语言,可以对参数进行逻辑运算,复杂度高,编译时无法检查错误导致运行时异常) string name = "Horace& ...

  2. 【快速上手SpringBoot】盘点盘点入门程序制作的四种方式(有图有代码)

  3. Python格式化字符串的4种方式

    文章目录 Python格式化字符串的4种方式 一:%号 二:str.format 三:f-Strings 四:标准库模板 五:总结四种方式的应用场景 Python格式化字符串的4种方式 一:%号 %号 ...

  4. Python拼接字符串的七种方式

    ♚ 豌豆花下猫,某985高校毕业生, 兼具极客思维与人文情怀 .公众号Python猫, 专注python技术.数据科学和深度学习,力图创造一个有趣又有用的学习分享平台. 忘了在哪看到一位编程大牛调侃, ...

  5. python遍历字符串存入列表_Python遍历字符串的4种方式

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. Python遍历字符串的4种方式 1.下标法 2.for in 3.iter内 ...

  6. python遍历字符串的每个字符_Python遍历字符串的4种方式

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. Python遍历字符串的4种方式 1.下标法 2.for in 3.iter内 ...

  7. python写错了怎么更改-Python中修改字符串的四种方法

    在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符. 因此改变一个字符串的元素需要新建一个新的字符串. 常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用joi ...

  8. java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)...

    转载地址:http://www.devba.com/index.php/archives/4581.html java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明); ...

  9. php 声明字符串的三种方式

    php 声明字符串的三种方式 1.单引号方式 单引号是效率最高的 例子 $a='aaa'; 单引号不解析所包含的变量,例如 $a='aaa'; $b='$abbb'; echo $b; 输出$abbb ...

最新文章

  1. 手把手教你AndroidStudio多渠道打包
  2. 小工匠聊架构-超高并发秒杀系统设计 03_热点数据的处理
  3. LVS负载均衡基础总结
  4. mysql导入存储过程报错_mysql导入建立存储过程或函数报错This function has none of DETERMINISTIC, NO SQL解决办法...
  5. python shell下载很慢_Python踩坑之旅其一杀不死的Shell子进程
  6. [SDOI2006] 保安站岗
  7. 关于页面动态添加控件(转)
  8. axure 组件_技巧分享 | Axure后台组件制作的全过程
  9. JQuery UI AutoComplete 与 Strtus2 结合使用
  10. 趣头条确认总编辑肖厚君离职:对现有业务没有任何影响
  11. POJ-10031004
  12. nyoj--32--组合数
  13. Office文件格式兼容包FileFormatConverters(office 2010)
  14. 载体构建实例解析——构建 SETD3-pEGFP-N1(Snapgene 设计引物)
  15. dvwa linux安装教程,Redhat 下 XAMPP 安装部署 DVWA 教程(示例代码)
  16. 微信小程序 收起键盘 wx.hideKeyboard()
  17. Jetson AGX Orin 平台关于c240000 I2C总线和GMSL ses地址冲突问题
  18. 《缠中说禅108课》52:炒股票就是真正的学佛
  19. 花卉识别卷积神经网络
  20. 恒星物联-河道水系监测系统方案 水质监测

热门文章

  1. margin值类型为百分比
  2. OpsAny 自动化运维管理平台
  3. 数据挖掘---频繁项集挖掘Apriori算法的C++实现
  4. 学计算机硬盘要多大,1TB等于多少G 1TB是多大?
  5. Excel2016打开文件后显示空白
  6. DNS无法解析IP_AliDNS下载-AliDNS阿里DNS一键设置工具3.8.5.2免费版
  7. 知道创宇将参展2016年国家网络安全宣传周
  8. 2023最新敬老院养老院管理系统的设计和实现(毕业设计+论文+开题报告+运行)
  9. .sql文件导入错误
  10. 阿里云OSS上传速度优化技巧