广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python .format()函数使用方法详解
  • 636
分享到

Python .format()函数使用方法详解

2024-04-02 19:04:59 636人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录fORMat函数的调用format函数及其占位符的调用格式占位符以及参数设定position/keyfill参数align参数sign参数width参数precision参数pr

format函数的调用

format函数可以被直接调用或在print函数中以占位符实现格式化调用。
在**2.6**版本前,占位符仍和其他语言一样使用%(比如C中)。但在其后的版本,format函数的占位符更改为{}(花括号)。

优化的目的目前总结出了4个:

1.花括号封闭可以实现更多格式化的实现,更强大的功能

2.使代码具有更强的可读性。

3.单个参数可以多次输出,参数顺序可以不相同

4.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型

好了,进入正文,对于format函数的使用将分为两部分。

1.format函数及其占位符的调用格式

2.占位符格式和参数设定

ps:在介绍的时候各个内容会有小小的穿插,其实是为了更加便于理解~

format函数及其占位符的调用格式

format函数可以直接被调用,比如在shell中直接调用

例1


>>>'{} {}'.format('hello','world')       #占位符不指定顺序
'hello world'
>>>'{0} {1}'.format('hello','world')       #占位符制定顺序
'hello world'
>>>'{1} {0}'.format('hello','world')       #换一下顺序试试
'world hello'
 

我们更常用的方式是放入print()函数中进行格式化输出

例2


print('{}获得了S8冠军'.format('IG')
#结果:
#IG获得了S8冠军

占位符以及参数设定

在第一部分中,简单地介绍了两种调用format函数的方式。可以很清晰地发现,在占位符中也可以输入一些参数,对格式化输出的参数进行设定,下面就详细的介绍占位符中各项参数的顺序和设置。

占位符中的各项参数格式如下所示

例3(伪代码)


'{position/key:fill,align,sign,width,precision,type}'.format(...)

position/key

position/key指定了占位符处从format函数的参数中调用哪个值,position很好理解,比如上面例1中介绍的后两种调用,就指定了format中两个参数hello和world在占位符中调用的顺序,注意这个顺序是按照数组排序中从‘0'开始计算的。 当然,你也可以使用键值对进行操作。比如下面的例4:

例4


print(
    'the championship of the S8 is {S8}, and for S9, it\'s {S9}.'.format(S8='IG',S9='FPX'))
#结果:the championship of the S8 is IG, and for S9, it'FPX.

有写小伙伴可能要问了,键值对(字典)的使用在这里有什么好处吗?感觉还不如填个数字来的快捷啊?

再来看下面这一段代码:

例5:


dic={'S8':'IG','S9':'FPX'}
print(
    'the championship of the S8 is {S8}, and for S9, it\'s {S9}.'.format(**dic))
#结果:the championship of the S8 is IG, and for S9, it'FPX.

在例5中,有些需要特别说明的地方,首先如果你要在format的括号里调用字典,记得在字典名前面加**,也就是字典的函数调用方法哦!从例5中应该能发现了,我们不需要在format中专门把字典列出来,而是可以调用以前定义过的字典,这就使得其具备了重复调用的优点。想象一下这一点会有什么不同,这是%方法做不到的哦。

你也可以用数组的形式填充,如例6所示:

例6:


names=['hilary','vergil','nero']
places=['chengdu','shijiazhuang','tokyo']
print(
    'Hi, {names[0]}. I am {names[1]} and this is {names[2]}.'.format(names=names)
    #Hi, hilary. I am vergil and this is nero.

第一个位置的参数,也是冒号前唯一的参数相信大家就搞明白啦。

下面的参数都是并列的,我们一个一个说明。首先要讲清楚这些参数如何并列或分隔。

那就是无需分隔,没错,下面的这些参数,你需要定义哪些就按照顺序写下就行,不用加什么逗号或者空格分开,你可能会想,这不容易产生歧义吗?我学习的时候也想过这个问题,事实是开发者编辑函数逻辑时就吧这些参数的设定值用不会产生任何歧义的符号或数字组合起来了,这一点当你使用时也会发现。

fill参数

fill参数用于指定填充符,默认值为空格,实际经验是,很少有场景会用到这个参数,除非是按照国际通用的三位一个逗号分隔数字等场景。

例7:


>>> print('{:,}'.format(12345678))
12,345,678

align参数

align参数用于格式化文本的对齐方式,当你填充了宽度的时候,这个参数的作用是很大的,当然,在一句话中无缝的插入一个格式化文本的话,这个参数的设置就不大有意义了。

> < ^
右对齐 左对齐 居中对齐

例8:

在shell中运行如下代码(代码中数字三十表示宽度,目的是为了拉大总体宽度显示出对齐的效果,后文会提到宽度的使用方法)


>>> print('{:<30}'.format('pos'))
pos
>>> print('{:>30}'.format('pos'))
                           pos
>>> print('{:^30}'.format('pos'))
             pos

sign参数

sign参数用于指定是否保留正负号,这个针对format中数字起作用。

+ - SPACE
保留正负号 仅保留负号 正数留空,负数保留负号

例9:


>>> print('{0:+} {0:-} {0: }'.format(123))
+123 123  123
>>> print('{0:+} {0:-} {0: }'.format(-123))
-123 -123 -123

ps:注意第一行代码运行结果中最后一个保留了一个空格哦

width参数

width参数控制输出的长度,经过我的测试,该长度为最小长度,即当设定的width参数小于format中调用的值时,不生效;而当设定值大时,会用空格(默认)或零进行填补,如果想要用0进行填补,那么需要在width前添加0,width参数的使用如例10所示。在例8中展示对齐参数时也使用了宽度参数,可以看出对齐是对我们的填补方式存在影响,其具体影响也在例10中给出。

例10:


print('{0:12} {0:05} {0:2}'.format(123)) #依次为12位宽空格填补、5位宽0填补、2位宽
#结果:
#         123 00123 123
print('{0:<012},{0:>012},{0:^012} '.format(123))
#结果:
#123000000000,000000000123,000012300000 
print('{0:^012},{1:^012},{0:^011},{1:^011} '.format(123,1234))
#结果:
#000012300000,000012340000,00001230000,00012340000

可以看出空格的填补同样以对齐的区别显示出来,但是0的填补却往往改变了我们数字的表示,使用时要注意。另一个要注意的是当你的总宽度和数据的有效宽度的奇偶性不同时,居中对齐的方式会有不同,这就是例10中第三行代码希望表达的意思。可以看出,当奇偶次出现不同时,总是偏向左一位对齐。

precision参数

和%方法中一样,如%.3f表示保留小数点三位小数,用【.保留有效数字位数(f)】表示数据的精确度,如果添加f,则表明保留的为小数点后位数,如果不加,则表示保留的是有效数字位数。例11很好的展示了这种区别。

例11:


print('{0:.2f},{0:.7f},{0:.2},{0:.2%} '.format(123.123456789))
#结果:
#123.12,123.1234568,1.2e+02,12312.35% 

其实小伙伴们应该注意到了,这里的f,%其实都算是precision参数后的type参数控制的内容——数据类型。因此,我们对精度简单介绍,而将precision-type参数的联合参数具体介绍,因为二者具有很强的关联。

precision-type参数

首先介绍所有的type参数,如下表所示:

type参数 含义
默认 十进制整数 123
f 浮点数 123.123
% 百分比格式 12312.3%
e 指数形式 1.2e01
- d 十进制整数 123
进制转换 十进制 123
b 二进制 1101111
o 八进制 157
x 十六进制 6f
#x 小写表示的十六进制 0x6f
#X 大写表示的十六进制 0X6F
c 字符,打印前转换为Unicode代码 ‘123'

本文由学习总结而成,引用了一段代码,文章中有引用号,引用链接放在下面:

https://www.jb51.net/article/226500.htm

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: Python .format()函数使用方法详解

本文链接: https://www.lsjlt.com/news/155633.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python .format()函数使用方法详解
    目录format函数的调用format函数及其占位符的调用格式占位符以及参数设定position/keyfill参数align参数sign参数width参数precision参数pr...
    99+
    2022-11-12
  • python中.format()方法使用详解
    目录前言一、简单使用方法1.无参数2. key value3. 列表4. 字典5. 类6. 魔法参数二、参数使用方法前言 format语法格式: str.format()str是指字...
    99+
    2022-11-11
  • Python中格式化format()方法详解
    Python中格式化format()方法详解 Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法; Python是完全面向对象的语言, 任何东西都是对象; 字符串的参...
    99+
    2022-06-04
    详解 方法 Python
  • python如何使用format()函数
    这篇文章主要为大家展示了“python如何使用format()函数”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何使用format()函数”这篇文章吧。format()format...
    99+
    2023-06-03
  • python中map()函数使用方法详解
    目录总结先看map()函数底层封装介绍: 注释中翻译为: map(func, *iterables)——> map对象 创建一个迭代器,使用来自的参数计算函数每个迭代器。当最短的迭代器耗尽时停止。 作用: m...
    99+
    2022-06-02
    python pythonmap函数
  • Python print函数及format()格式化输出详解
    今天继续给大家介绍Python相关知识,本文主要内容是Python print函数及format()格式化输出详解。 一、print()函数基本使用 print()函数是Python中用于向控制台输出...
    99+
    2023-10-23
    python 编程 开发 print输出 格式化
  • Python format()函数的用法是什么
    Python的format()函数是用来格式化字符串的方法。它可以在字符串中插入变量、常量或表达式,并指定它们的格式。format(...
    99+
    2023-10-12
    Python
  • Python列表append()函数使用方法详解
    目录1. 基本使用2. 任意类型元素3. 列表同步3.1 原理剖析3.2 解决方案4. append()与extend()的区别总结1. 基本使用 append() 函数可以向列表末...
    99+
    2022-11-11
  • python中format函数怎么使用
    在Python中,可以使用format()函数来格式化字符串。基本语法如下:```pythonformatted_string = ...
    99+
    2023-10-12
    python
  • Python的format()函数如何使用
    format()函数是Python中用于字符串格式化的函数。它可以将给定的参数按照指定的格式插入到字符串中。使用方法如下:1. 在字...
    99+
    2023-08-15
    Python format()
  • python中format的用法实例详解
    目录1、基本用法1. 按照{}的顺序依次匹配括号中的值2. 通过索引的方式去匹配参数3. 通过参数名来匹配参数4. 混搭使用2、进阶用法1. 通过对象的属性2. 支持对参数部分引用3...
    99+
    2022-11-11
  • Python常用正则函数使用方法详解
    今天给大家介绍一下Python中常用的正则表达式处理函数。Python的正则表达式主要有两种方法完成模式匹配:『搜索』和『匹配』   re.match re.match 尝...
    99+
    2022-11-12
  • 详解Python中的split()函数的使用方法
    函数:split() Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list) os.path.split():...
    99+
    2023-09-26
    数学建模
  • 怎么在Python中使用 format函数
    本篇文章给大家分享的是有关怎么在Python中使用 format函数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python可以做什么Python是一种编程语言,内置了许多有...
    99+
    2023-06-14
  • python Format()函数的用法___实例详解(一)(全,例多)___各种格式化替换,format对齐打印
    python Format()函数的用法___实例详解(一)(全,例多) (格式化替换,关键字替换,列表字典替换,类格式化, 魔法函数格式化,对齐及填充格式化,format对齐打印) 本篇目录内容: 📘  一、format...
    99+
    2023-10-25
    python 开发语言 青少年编程 经验分享
  • python列表中remove()函数的使用方法详解
    目录1.基本使用2.删除普通类型元素3.删除对象类型元素4.一次只删一个元素5、Python列表的remove方法的注意事项总结1. 基本使用 remove() 函数可以删除列表中的...
    99+
    2022-11-12
  • Python格式化输出之format用法详解
    目录format用法一、填充1.无参(1)2.无参(2)3.无参(3)4.key value5.列表6.字典7.类8.魔法参数二、数字格式化三、叹号用法总结format用法 &nbs...
    99+
    2022-11-13
  • 详解Python函数print用法
    print函数: Python中可以直接使用的函数,可以将信息展示在控制台 print()函数可以输出哪些内容? print()函数输出的内容可以是数字 #可以输出数字 print(520) print(98...
    99+
    2022-06-02
    Python print函数 python函数
  • Python range() 函数用法详解
    Python3 range() 返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表 函数语法 range(start, stop[, step]) 参...
    99+
    2023-03-15
    Python range() 函数 Python range函数用法
  • Python dict函数用法详解
    dict函数用法:1、使用“**kwarg”参数初始化字典;2、使用“mapping”参数初始化字典;3、使用“iterable”参数初始化字典;4、创建空字典。Python中的dict()函数用于创建一个字典对象,并可以进行键值对的初始化...
    99+
    2023-11-10
    python dict
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作