字符串格式化: 是在编程过程中,允许编码人员通过特殊的占位符,将相关对应的信息整合或提取的规则字符串。
python字符串格式化字符串的格式化常用的三种方式,分别是使用 %格式化,format方法格式化,fstring格式化。
传统的方式使用 % 作为占位符,输出自身想输出的内容
常用的格式化字符包括 % s :作为替代字符串内容 ,%d 作为替代十进制(常见的1,2,3而已),%f 作为代替浮点数的用法
比较困难难于理解的 % e 作为代替科学计数法内容
举例:
str_format = 'this %s %d a pice code' #插入的字符必须要和占位符的顺序保持一致 string = str_format %('a',1) print(string)其中 %被称为字符串格式化,其中%后面的“x”被称为格式化符,格式化符有很多个 包括(s,r,c,d,f,...)%s可以被称为占位符
打印结果:
# 出现这种操作的原因,是为了让表达内容更加灵活,常用在循环中,或者爬虫中 for i in range(100): url = f'https://www.gushici.net/t/1/42/index_%d.html'%(i) print(url)
第二种方式: .format
format 可以接受python任何数据的内容,不必再去区分需要填补的数据是什么类型
Python 中的它可以使用多种方式来替换字符串中的自定义标记。 例如,要把一个字符串中的占位符替换成实际的值,可以使用 format () 方法
使用方法包括:b.format(a)和format(a,b)。
string = 'Learn {name} well and {figure} travel around the world'.format(figure = 1,name='python') print(string)
打印结果:
最常用的方式还是通过位置匹配参数:
# 通过format方法补全字符串 Learn python well and go global string = 'Learn {0} well {2} go {1}'.format('python','global','and') print(string)
3 f-string
f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法。f-string让字符串的格式化更加简便,本质上f-string不是字符串常量,而是一个可以在运行时运算求值的表达式。
f -string 基本用法:
name = '马致远' string = "hello my name is {name}" print(string)
f-string 高级用法 : 表达式求值与函数调用
str = f"THEY hAVe {2+5*2} apples".lower() print(str)
此段代码通过使用 f-string 方法 计算了大括号内 2+5*2 的值(求职),将字符串模板中的文本内容是大写的部分转换成了小写(函数调用)
a = 3.1415926 #表示字符串模板的固定的长度 str = f"{a:10}" print(str) #表示字符串固定模板的长度,以及小数点后面的精度 # width:precison 整数width 为指定宽度,整数precision 表示显示小数点后几位 # str_test = f"{a:width.precision}" str2 = f"{a:8.3f}" print(str2)
在一段代码中 format 变量接受的内容就是字符串模板
information = {"name":"马远远","age":19 ,"Email":"2320761292@qq.com","income":" xianYang"} format_ = "woshi {nanshen}".format(nanshen = information["name"]) Student = "work location:{0[student]}"
日期格式化:
from datetime import * a = datetime.today() str = f"{a:%m-%d-%Y}" print(a) print(str)其中 today 是datime 模块中的一个方法用于获取当前时间
Y 表示 年份 m表示 月份 d 表示日,发现了没有我可以将它的输出顺序进行转换
格式化符: 传统就是 % 现在就是 { }
字符串模板: 需求变动的字符串
需要传递的参数: information 中的内容
字符串格式化 ,把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’。