python对字符串进行格式化(格式化字符串是什么意思)

诉求从某种意义上说一个软件项目有相当多的内容就是对数据进行各种转换和处理,特别是字符数据。这里假如我需要构造一些字符串,其中字符串中的某些地方我们希望能够通过变量进行替换使用format首先可以使用string的format方法,可

诉求

从某种意义上说一个软件项目有相当多的内容就是对数据进行各种转换和处理,特别是字符数据。这里假如我需要构造一些字符串,其中字符串中的某些地方我们希望能够通过变量进行替换

使用format

首先可以使用string的format方法,可以通过数字来指定替换的位置,0表示format中的第一个参数,以此类推

\”今天天气是{0},现在时间是{1}点整\”.format(\”晴天\”, \”7\”)

python对字符串进行格式化(格式化字符串是什么意思)

如果数字顺序改变,替换成的字符串也会跟着改变

python对字符串进行格式化(格式化字符串是什么意思)

当需要替换的变量比较多时,可以使用有意义的名称来区分

\”今天天气是{weather},现在时间是{hours}点整\”.format(weather=\”晴天\”, hours=\”7\”)

python对字符串进行格式化(格式化字符串是什么意思)

使用format_map

如果这些变量都事先已经定义,也可以使用format_map方法来实现,其中vars()会获取当前环境的变量,format_map会自动查找字符串中需要替换的变量名并用变量的值进行替换

weather = \”晴天\”
hours = 7
s = \”今天天气是{weather},现在时间是{hours}点整\”
s.format_map(vars())

python对字符串进行格式化(格式化字符串是什么意思)

vars()方法返回的环境变量字典

python对字符串进行格式化(格式化字符串是什么意思)

不仅如此,这里使用的变量还可以是类的实例变量,见下

class Info:
def __init__(self, weather, hours):
self.weather = weather
self.hours = hours
a = Info(\”晴天\”, 7) # a是类Info的实例
s = \”今天天气是{weather},现在时间是{hours}点整\”
s.format_map(vars(a)) # vars需要传入参数a

python对字符串进行格式化(格式化字符串是什么意思)

处理异常情况

像下面这种情况,少传了参数的情况,执行就会报错,提示缺少hours,但是实际情况可能并不一定一次性地把变量都传入,也可能会在后续的语句中再传入其他的变量,该如何处理这种情况哪?

\”今天天气是{weather},现在时间是{hours}点整\”.format(weather=\”晴天\”)

python对字符串进行格式化(格式化字符串是什么意思)

可以使用类的__missing__方法,当key能找到时不会调用该方法,如果key找不到就会调用__missing__方法并将该方法的值返回,我们只需要重写__missing__方法就可以了。

class safeformat(dict):
def __missing__(self, key):
return \'{\’ + key + \’}\’
# 类safeformat初始化传入的参数为字典类型, 因为weather变量是存在的直接替换为变量的值
# hours变量不存在,调用__missing__方法,由于重写了该方法,即字符串中的{hours}实际上也
# 发生了替换,只是替换的值为{hours}而已
\”今天天气是{weather},现在时间是{hours}点整\”.format_map(safeformat({\”weather\”: \”晴天\”}))

python对字符串进行格式化(格式化字符串是什么意思)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/56202.html

(0)
nan
上一篇 2021-12-03
下一篇 2021-12-03

相关推荐

  • 平板电脑必备游戏(适合平板玩的大型单机游戏)

    玩游戏肯定是要选择一些耐玩而且出色的种类,还有着高画质和丰富体验性的游戏。而且往往这样的作品都非常受欢迎,很多玩家都对此感兴趣,那么本期就为大家推荐八款,越玩越上瘾的大型单机游戏,每一部都值得你去收藏游玩。《看门狗2》它作为《看门狗》系列

    2021-11-23 创业分享
    0
  • 电商商品转化率的计算公式(网站转化率低的原因)

    在网络营销中,引流效果好网络推广方法能够为网站带来大量客户流量,而营销效果好网站页面,能够将这些客户流量转化掉。国内不少企业存在着网页转化率差问题,使得他们每个月投入大量推广费用,但是产品成交率就是低。那么,如何做网页才能提高流量转化率

    2021-11-16
    0
  • 什么是竞价广告了解竞价广告的优势和缺点

    现在不管是传统企业还是新型企业,越来越多的人注意到互联网这一巨大的市场平台,都想要在此分一杯羹,也因此做竞价广告的企业越来越多。但是很多企业都是没有弄清楚情况,只是看见结果就冒然进入,稀里糊涂的操作一通,最终惨淡收场还不知道原因。任何事情,在不了解

    2022-01-05 创业分享
    0
  • 最不伤害孩子的离婚方式(离婚对孩子的伤害有哪些)

    这篇文章,我希望每一位为人父母都能够耐心的为自己的孩子看完!夫妻感情破碎闹离婚,最受伤害、最无辜的就是孩子。孩子什么错都没有犯,却因为父母的原因而被迫接受一个不完整的家,被贴上“单亲家庭”的标签负重生活着。甚至,好不容易到成年之后,自己的婚恋也因为社

    2021-12-25 创业分享
    0
  • 电脑怎么改变ip地址(手机一键换ip免费版)

    现如今这个网络大时代但凡具有联网功能的设备都需要通过网络运营商服务器分配网络IP地址后,人们才能利用手机电脑等电子产品实现互联网的访问,才能进行购物支付、外卖点餐、网课学些、游戏娱乐等操作极大的提高了工作生活的品质,但在实际的网络使用中经常会遇见一些

    2021-11-18
    0
  • 怎样提升用户体验优化(推荐网站用户体验UE的3个关键点)

    用户体验何等重要,百度都已经把用户体验作为网站排名的一个很重要的因素了,往大的说用户体验影响一个企业的品牌影响,影响一个电商网站的购物体验。网站建设中什么是用户体验??用户体验是一种纯主观的在用户使用一个产品(服务)的过程中建立起来的心理感受,它是基

    2021-12-30
    0

发表回复

登录后才能评论