Python format的基本用法和进阶用法是什么
Admin 2022-08-18 群英技术资讯 647 次浏览
s = "{} is a {}".format('Tom', 'Boy') print(s) # Tom is a Boy s1 = "{} is a {}".format('Tom') # 抛出异常, Replacement index 1 out of range for positional args tuple print(s1)
s = "{0} is a {1}".format('Tom', 'Boy') print(s) # Tom is a Boy s1 = "{1} is a {2}".format('Tom', 'Lily', 'Girl') print(s1) # Lily is a Girl
字符串中索引的顺序可以打乱,并不影响匹配。
s = "{1} is a {0}".format('Boy', 'Tom', ) print(s) # Tom is a Boy
s = "{name} is a {sex}".format(name='Tom', sex='Boy') print(s) # Tom is a Boy
同理,如果参数已经确定,可以直接利用{}进行格式化引用。
name = 'Tom' sex = 'Girl' # 以f开头表示在字符串中支持大括号内的python表达式 此用法3.6之后支持 s = f"{name} is a {sex}" print(s) # Tom is a Boy
可以通过索引,参数名来混搭进行匹配。
s = "My name is {}, i am {age} year old, She name is {}".format('Liming', 'Lily', age=10) print(s) # My name is Liming, i am 10 year old, She name is Lily
需要注意的是,命名参数必须写道最后。负责会编译报错!
s = "My name is {}, i am {age} year old, She name is {}".format('Liming', age=10, 'Lily') print(s) # SyntaxError: positional argument follows keyword argument
另外,不可以索引和默认格式化混合使用。
s = "{} is a {0}".format('Boy', 'Tom', ) print(s) s1 = "{} is a {1}".format('Boy', 'Tom', ) print(s1) #以上两种写法均报异常。 # ValueError: cannot switch from automatic field numbering to manual field specification
class Names(): name1='Kevin' name2='Tom' print 'hello {names.name1} i am {names.name2}'.format(names=Names) # hello Kevin i am Tom
可以通过索引对参数的部分进行取值。如下:s[0] = w。
s = "The word is {s}, {s[0]} is initials".format(s='world') # The word is world, w is initials print(s)
如何使用format 保留两位小数呢? 需要使用:.2f,在用%进行格式化时我们使用的是%:.2f
s = 'π is {:.2f}'.format(3.1415926) print(s) # π is 3.14 s1 = 'π is %.2f'% 3.1415926 print(s1) # π is 3.14
同时这种方法还可以用于字符串截取,不过数字后面就不能加f了。
s = "{:.1}".format('Hello') print(s) # H
给数字加千位符
s = "{:,}".format(1000000) print(s) # 1,000,000
将数字转换成二进制
s = "{:b}".format(8) print(s) # 1000
将数字转换成八进制
s = "{:o}".format(8) print(s) # 10
将数字转换成十六进制
s = "{:X}".format(12) print(s) # C
通过:+数字指定转换后的字符串长度,不足的部分用空格补充
s = "{:2}b".format('a') print(s) # a b (a后面补了一个空格) # 如果指定的长度小于参数的长度,按照原参数匹配 s1 = "{:2}World".format('Hello') print(s1) # HelloWorld
可通过:符号^数字进行字符串的填充。 其中数字为填充后的字符串总长度。
s = "{:*^10}".format('Hello') print(s) # **Hello*** s = "{:-^20}".format('123456') print(s) # -------123456-------
如果数字小于字符串的长度,则不进行填充操作。
s = "{:*^3}".format('Hello') print(s) # Hello
在format格式化时,可使用* 或者 ** 进行对list、tuple拆分。
foods = ['fish', 'beef', 'fruit'] s = 'i like eat {} and {} and {}'.format(*foods) # i like eat fish and beef and fruit print(s) foods = ['fish', 'beef', 'fruit'] s = 'i like eat {2} and {0} and {1}'.format(*foods) # i like eat fruit and fish and beef print(s) dict_temp = {'name': 'Lily', 'age': 18} # 字典需要用 ** 进行拆分 s = 'My name is {name}, i am {age} years old'.format(**dict_temp) print(s) # My name is Lily, i am 18 years old
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。它不仅能够实现强大的GPU加速,同时还支持动态神经网络。本文将介绍PyTorch搭建CNN如何实现风速预测,感兴趣的可以学习一下
内容介绍sort()方法是什么如何妙用sorted()方法总结在Python中,你可以使用sorted()方法或sort()方法对数据进行排序。在本文中,我将提供sorted()和
目录前言代码测试结果前言在生成数据的过程中,我们有时候需要基于已有的数据生成排列组合的序列,对此,我们需要编写全排列算法生成序列,本文将分享本人编写的递归实现的全排列算
什么是共现矩阵?共现矩阵的构建思路共现矩阵的代码实现共现矩阵(共词矩阵)计算共现矩阵(共词矩阵)补充一点python共现矩阵实现。最近在学习python词库的可视化,其中有一个依据共现矩阵制作的可视化,感觉十分炫酷,便以此复刻。...
这篇文章介绍了Python中的re正则表达式模块,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008