在上一篇文章中,我们学会了在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