格式化字符串 模板字符串

在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 格式化字符串 模板字符串(五分钟读懂)相关推荐

  1. python高阶函数(三分钟读懂)

    python高阶函数(三分钟读懂) 函数式编程 Python中,函数是一等对象 一等对象:具有特点 ① 对象是在运行时创建的 ② 能赋值给变量或作为数据结构中的元素 ③ 能作为参数传递 ④ 能作为返回 ...

  2. 大数据入门-五分钟读懂HDFS

    目录 大数据入门系列文章 一.概念 二.架构及组件概念 三.读写流程 四.大白话 五.其他 大数据入门系列文章 最近在收集整理大数据入门文章,各位盆友关注点赞不迷路,每天都要开心鸭! 大数据入门系列文 ...

  3. 五分钟读懂UML类图

    平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...

  4. 五分钟读懂UML类图(转)

    平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道.实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一.类的属性的表示方式 在UML类图中,类使用包含类 ...

  5. python字符串数据类型(一分钟读懂)

    下面使用遍历方式去验证定义的字符串内容 下面均把字符串内容赋值给变量A 一个引号 a = 'asd' for q in a:print(q) # 输出结果为 a s d 双引号 a = "a ...

  6. python命名空间(五分钟读懂)

    命名空间(namespace) 1.命名空间指的是变量存储的位置,每一个变量都需要存储到指定的命名空间当中 2.每一个作用域都会有一个它对应的命名空间 3.全局命名空间,用来保存全局变量.函数命名空间 ...

  7. 【五分钟读懂】PHP中的opcache是什么,opcache是用来干嘛的?

    前言 opcache从字面意思,肯定是缓存这一块的.但是你是否知道它的工作原理是怎样的呢? 这里一点一点让你了解!PHP项目中,尤其是在高并发大流量的场景中,如何提升PHP的响应时间,是一项十分重要的 ...

  8. python3自定义函数(五分钟读懂)

    自定义函数 ''' # 重复的事情不做两次# 函数 # 定义:1.函数就是完成特定功能的一个语句组. # 2.这语句组可以作为一个单位使用(并且给它取一个名字) # 调用:1.通过函数名在程序的不同地 ...

  9. python3生成文件对象(五分钟读懂)

    生成文件对象 fileobject = open(filename,mode) # python2 python3 都可以用 fileobject = open(filename,mode) 常用的特 ...

最新文章

  1. Java内存管理之软引用(Soft Reference)
  2. spring整合redis缓存
  3. android陀螺仪测试工具,修改安卓陀螺仪和加速度计的sensor抽象层HAL
  4. Mecanim动画系统
  5. Yolo系列知识点梳理(Yolov1-v5)
  6. 边缘检测robert原理_机器视觉尺寸检测基础
  7. vue中的 $children 和 $parent
  8. CVE-2020-3580: Cisco ASA安全软件XSS漏洞
  9. HTML中常见问题汇总贴
  10. PAIP.HIBERNATE ORA-02289 sequence does not exist的解决
  11. CVE-2020-10148: SolarWinds 远程代码执行漏洞通告
  12. SPSS——相关分析——偏相关(Partial)分析
  13. infer的用法_词汇精选:infer的用法和辨析
  14. 华为笔记本电脑home键和end键快捷方式
  15. ubuntu安装wine版微信
  16. HP DeskJet 2131 喷墨一体打印机打印设置教程
  17. JS之如何判断数据类型
  18. Google服务器架构图解简析
  19. 【像素与浏览器视口的细节】及移动web设置“width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no“原因
  20. CAN 网络故障诊断

热门文章

  1. GDALSetProjection使用的一个注意事项
  2. UVa 1639 - Candy(数学期望 + 精度处理)
  3. struts中action与页面之间的传值方式
  4. [读码时间] css函数设置读取对象的属性
  5. datetimepicker一个不错的日历android特效
  6. WPF Page close
  7. 面向对象第四单元总结和期末总结
  8. centos7启用EPEL Repository
  9. Opengl_9_复合变换
  10. 激光笔可以测光纤通断吗?