在上一篇文章中,我们学会了在python中,通过%以及format函数的方式去进行字符串的格式化,今天,我们来继续学习一种新的方式:f-string。是Python3.6新引入的一种字符串格式化方法,据说性能比前面两种方法更优,代码看上去也更简洁。
f-string格式化字符串的用法
- 替换字符串中的变量
- 结合字符串相关函数一起使用
简单用法展示:
name = 'xiaobo' age = 23 height = 173 print(f"my name is {name},my age is {age}") print(f"my name is {name.upper()},my age is {age+1}") print(f'my height is {height:.2f}') 输出如下: my name is xiaobo,my age is 23 my name is XIAOBO,my age is 24 my height is 173.00
除了上面展示的一些用法,还有一些负责的用法,大家可以在做格式化输出的时候自己去扩展一下。
字符串的一些常用内置函数简介
- len():求字符串长度
name = 'xiaobo' print(len(name))
count():统计某个字符在字符串中出现的次数
name = 'my name is xiaobo' print(name.count('m')) # 指定从某个位置开始统计某个字符出现的次数,指定的位置坐标从0开始 print(name.count('m', 0)) print(name.count('m', 0, 9)) 输出都是 2
replace() 字符串替换函数
name = 'abcdmmm' print(name.replace('m', 'n')) print(name.replace('m', 'n', 1)) # 可以指定要替换的次数 输出结果: abcdnnn abcdnmm
split():字符串分割函数,可以指定分割的次数
uri = 'username=xiaobo&password=123456&pagesize=20&pagenum=2' print(uri.split('&')) print(uri.split('&',1)) 输出如下: ['username=xiaobo', 'password=123456', 'pagesize=20', 'pagenum=2'] ['username=xiaobo', 'password=123456&pagesize=20&pagenum=2']
find()函数:在字符串中查找子字符串所在位置,也可以指定开始和结束位置查找,没找到的话会返回-1。
uri = 'username=xiaobo&password=123456&pagesize=20&pagenum=2' print(uri.find('password')) print(uri.find('password', 5, 10)) 输出: 16 -1
- index():跟find()函数用法类似,也是查找某个子字符串在字符串中的索引位置,如果找不到,则会报ValueError: substring not found错。
- strip():剔除字符串首尾空格,返回一个新的字符串
- join():返回根据指定字符连接序列中元素后生成的新字符串
a = ['a', 'b', 'c'] print(''.join(a)) print('-'.join(a)) 输出: abc a-b-c
一些其他字符串校验的函数
# 检查字符串是否以指定的字符串开头 print('Hello world'.startswith('He')) # True # 检查字符串是否以指定的字符串结尾 print('how are you !'.endswith('!')) # True # 返回一个新的字符串,首字母大写,其余字母变小写 print('hEllO, WOrld!'.capitalize()) # Hello, world! # 返回一个新的字符串,所有单词首字母大写,其余字母均小写 print('hEllO, WOrld!'.title()) # Hello,World