python 格式化字符串 模板字符串(五分钟读懂)
格式化字符串 模板字符串
在python字符串最核心的功能
# %s 字符串 占位符 获取传入对象的__str__方法的返回值,并将其格式化到指定位置
# %d 数字整数 占位符 将整数、浮点数转换成 十 进制表示,并将其格式化到指定位置
# %% 百分号
# %u 无符号整数
# %o 无符号整数(八进制)
# %x 无符号整数(十六进制)
# %X 无符号整数(十六进制 大写符号)
# %e 浮点数字(科学计数法)
# %E 浮点数字(科学计数法,用E代替e)
# %f 浮点数 占位符 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)
# %g 浮点数字(根据值的大小写采用%e 或 %f)
# %G 浮点数字(类似%g)
# %p 指针(用十六进制打印值的内存地址)
# %n 储存输出字符的数量放进参数列表的下一个变量中
格式化输出字符串
name1 = '你'
name2 = '(恐龙)'
print(name1,'喝醉了酒,然后看见一个女生',name2,'的窗户没关,然后爬了进去,')
# 输出为
你 喝醉了酒,然后看见一个女生 (恐龙) 的窗户没关,然后爬了进去,
% 替换运算符 替换字符串里面的一部分
%s 字符串
字符串中有多个要被替换 按顺序使用 %s 表示
传入的值必须按顺序 而且要输入的必须不能多 也不能少 否则报错
(参数值的数量和格式化参数的数量不匹配,会抛出异常)
a = '那么你构成%s吗?%s!因为这是%s,%s是%s的。'
b = ('强奸罪','构成','事后的承诺','事后的承诺','无效')
print(a % b)
# 输出为
那么你构成强奸罪吗?构成!因为这是事后的承诺,事后的承诺是无效的。
b = ('强奸罪','构成','事后的承诺','事后的承诺','无效')
print('那么你构成%s吗?%s!因为这是%s,%s是%s的。' % b)
# 输出为
那么你构成强奸罪吗?构成!因为这是事后的承诺,事后的承诺是无效的。
%% 百分号
有时需要在字符串里面显示 %
如 ‘泡妞成功概率为200% ’
那么就需要用到 %% 来表示(%%在这里面将会显示%的意思)
a = '泡妞成功概率为%s%%'
b = ('200') #注意 这里的是字符串
print(a % b)
# 输出为
泡妞成功概率为200%
%d 数字 整数的占位符
a = '泡妞成功概率为%d%%'
b = (200) #注意 这里的是数字 没有引号的元组
print(a % b)
# 输出为
泡妞成功概率为200%
a = '泡妞成功概率为%d%s%s'
b = (200,'万','分之一') #注意
print(a % b)
# 输出为
泡妞成功概率为200万分之一
a = 3
print('判刑%d年' % a)
# 输出为
判刑3年
%f 浮点数 占位符 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)
print('%f' % 8.12345678) # 输出为8.123457(默认保留小数点后6位)(最后一位自动四舍五进)
print('%.1f' % 8.1234567) # 输出为8.1
print('%.2f' % 8.1234567) # 输出为8.12
print('%.3f' % 8.1234567) # 输出为8.123
print('%.4f' % 8.1234567) # 输出为8.1235
print('%.5f' % 8.1234567) # 输出为8.12346(最后一位自动四舍五进)
print('%.6f' % 8.1234567) # 输出为8.123457(最后一位自动四舍五进)
print('%.10f' % 8.1234567)# 输出为8.1234567000
print('%.20f' % 8.1234567)# 输出为(第十五位之后就出现了其他数字)
模板 字符串
substitute 意思是替换
from string import Template
dalao = Template('$s这一块拿捏得死死的,$s外泄')
print(dalao.substitute(s='气质')) # 指定格式化参数s的值是'气质'
# 输出为
气质这一块拿捏得死死的,气质外泄
把参数换成a
from string import Template
dalao = Template('$a这一块拿捏得死死的,$a外泄')
print(dalao.substitute(a='气质')) # 指定格式化参数a的值是'气质'
# 输出为
气质这一块拿捏得死死的,气质外泄
当格式化参数是一个字符串的一部分时,为了和字符串的其他部分区分开 需要用花括号括起来{a}
因为当字符串里面的是英文的时候
如
$a
$ab
from string import Template
dalao = Template('${a}bc这一块拿捏得死死的,${a}外泄')
# dalao = Template('$abc这一块拿捏得死死的,$a外泄')# 这样就会报错
print(dalao.substitute(a='气质'))
# 输出为
气质bc这一块拿捏得死死的,气质外泄
更换多个格式化参数变量
from string import Template
dalao = Template('${a}这一块${b}得死死的,${c}外泄')
print(dalao.substitute(a = '气质', b = '拿捏', c = '霸气'))
# 输出为
气质这一块拿捏得死死的,霸气外泄
使用字典格式化参数值
from string import Template
dalao = Template('${a}一笑${b}亿')
data = {}
data['a'] ='这'
data['b'] = 5
print(dalao.substitute(data))
# 输出为
这一笑5亿
python 格式化字符串 模板字符串(五分钟读懂)相关推荐
- python高阶函数(三分钟读懂)
python高阶函数(三分钟读懂) 函数式编程 Python中,函数是一等对象 一等对象:具有特点 ① 对象是在运行时创建的 ② 能赋值给变量或作为数据结构中的元素 ③ 能作为参数传递 ④ 能作为返回 ...
- 大数据入门-五分钟读懂HDFS
目录 大数据入门系列文章 一.概念 二.架构及组件概念 三.读写流程 四.大白话 五.其他 大数据入门系列文章 最近在收集整理大数据入门文章,各位盆友关注点赞不迷路,每天都要开心鸭! 大数据入门系列文 ...
- 五分钟读懂UML类图
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...
- 五分钟读懂UML类图(转)
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...
- python字符串数据类型(一分钟读懂)
下面使用遍历方式去验证定义的字符串内容 下面均把字符串内容赋值给变量A 一个引号 a = 'asd' for q in a:print(q) # 输出结果为 a s d 双引号 a = "a ...
- python命名空间(五分钟读懂)
命名空间(namespace) 1.命名空间指的是变量存储的位置,每一个变量都需要存储到指定的命名空间当中 2.每一个作用域都会有一个它对应的命名空间 3.全局命名空间,用来保存全局变量.函数命名空间 ...
- 【五分钟读懂】PHP中的opcache是什么,opcache是用来干嘛的?
前言 opcache从字面意思,肯定是缓存这一块的.但是你是否知道它的工作原理是怎样的呢? 这里一点一点让你了解!PHP项目中,尤其是在高并发大流量的场景中,如何提升PHP的响应时间,是一项十分重要的 ...
- python3自定义函数(五分钟读懂)
自定义函数 ''' # 重复的事情不做两次# 函数 # 定义:1.函数就是完成特定功能的一个语句组. # 2.这语句组可以作为一个单位使用(并且给它取一个名字) # 调用:1.通过函数名在程序的不同地 ...
- python3生成文件对象(五分钟读懂)
生成文件对象 fileobject = open(filename,mode) # python2 python3 都可以用 fileobject = open(filename,mode) 常用的特 ...
最新文章
- Java内存管理之软引用(Soft Reference)
- spring整合redis缓存
- android陀螺仪测试工具,修改安卓陀螺仪和加速度计的sensor抽象层HAL
- Mecanim动画系统
- Yolo系列知识点梳理(Yolov1-v5)
- 边缘检测robert原理_机器视觉尺寸检测基础
- vue中的 $children 和 $parent
- CVE-2020-3580: Cisco ASA安全软件XSS漏洞
- HTML中常见问题汇总贴
- PAIP.HIBERNATE ORA-02289 sequence does not exist的解决
- CVE-2020-10148: SolarWinds 远程代码执行漏洞通告
- SPSS——相关分析——偏相关(Partial)分析
- infer的用法_词汇精选:infer的用法和辨析
- 华为笔记本电脑home键和end键快捷方式
- ubuntu安装wine版微信
- HP DeskJet 2131 喷墨一体打印机打印设置教程
- JS之如何判断数据类型
- Google服务器架构图解简析
- 【像素与浏览器视口的细节】及移动web设置“width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no“原因
- CAN 网络故障诊断