字符串格式化的5种方法,第3种简单又灵活
入门教程、案例源码、学习资料、读者群
请访问: python666.cn
在开发程序过程中,经常会需要将一些数据整合到一起输出。
比如现在有3个变量,分别表示姓名、年龄、地点,要把它们放在一句话里显示出来。
如果这几个变量都是字符串,那倒还好办,直接用加号(+)相加就可以:
name = 'Crossin'
age = '18'
place = '编程教室'
result = '我叫' + name + ',今年' + age + '岁,来自' + place + ',很高兴认识你!'
print(result)
我叫Crossin,今年18岁,来自编程教室,很高兴认识你!
result = 'Crossin' '编程教室' '!'
print(result)
Crossin编程教室!
name = 'Crossin'
age = 18
place = '编程教室'
result = '我叫' + name + ',今年' + age + '岁,来自' + place + ',很高兴认识你!'
print(result)
TypeError: can only concatenate str (not "int") to str
要解决这个问题并不难,Python 处理字符串还是相当灵活的。这里就给大家演示5种常用的方法。
1. str
既然类型不同相加时会报错,那只要通过 str 函数把非字符串变量转成字符串就可以了。
print('我叫' + name + ',今年' + str(age) + '岁,来自' + place + ',很高兴认识你!')
Python 中的 print 方法支持输出多个值或者变量,用逗号(,)隔开就可以了。因为是分别输出,不存在计算,所以类型不一样也没关系:
print('我叫', name, ',今年', age, '岁,来自', place, ',很高兴认识你!')
3. f-string
Python 提供了一种很便捷的字符串格式化方法,可以将变量按照指定位置嵌入到一个字符串模板中。
方法就是在字符串的引号前面加上一个字母 f,然后把里面要用到的变量放在大括号({})里:
print(f'我叫{name},今年{age}岁,来自{place},很高兴认识你!')
在格式化的时候,还可以对格式做更多设定,比如小数的保留位数:
pi = 3.1415926
print(f'圆周率{pi:.2f}')
圆周率3.14
4. format
假如你不得不用一个更老版的 python,还有一种类似 f-strings 的字符串格式化方法 .format。
它的写法是把需要填充变量的地方用大括号留好位置,然后在字符串模板后面调用 .format(),把变量放进去:
print('我叫{},今年{}岁,来自{},很高兴认识你!'.format(name, age, place))
5. %
还有一种字符串格式化方法是在字符串模板中需要填充 str 变量的地方写上 %s,填充 int 变量的地方写上 %d,填充 float 变量的地方写上 %f,然后在字符串后面加上 % (),把变量放进去:
print('我叫%s,今年%d岁,来自%s,很高兴认识你!' % (name, age, place))
对于上述的后3种字符串格式化,都还可以通过添加参数的方法设定格式化的细节。今天这里就不展开细说了。
你还用过什么字符串格式化的方法?欢迎在留言区讨论。
本书从 Python 和 Excel 结合使用的角度讲解处理分析数据的思路、方法与实战应用。不论是希望从事数据分析岗位的学习者,还是其他职业的办公人员,都可以通过本书的学习掌握 Python 分析数据的技能。书中创新性地将 ChatGPT 引入到教学当中,用 ChatGPT 答疑并提供实训代码,并介绍了使用 ChatGPT 辅助学习的一些实用技巧,给学习者带来全新的学习方式。
公众号的读者朋友们购买后可在后台联系我,加入读者交流群,Crossin会为你开启陪读模式,解答你在阅读本书时的一切疑问。
_往期文章推荐_