python字符串格式化方法入门到进阶

初级用法

1. %格式化

python字符串格式化符号:

 符号	    描述
  %c	 格式化字符及其ASCII码
  %s	 格式化字符串
  %d	 格式化整数
  %u	 格式化无符号整型
  %o	 格式化无符号八进制数
  %x	 格式化无符号十六进制数
  %X	 格式化无符号十六进制数(大写)
  %f	 格式化浮点数字,可指定小数点后的精度
  %e	 用科学计数法格式化浮点数
  %E	 作用同%e,用科学计数法格式化浮点数
  %g	 %f和%e的简写
  %G	 %f 和 %E 的简写
  %p	 用十六进制数格式化变量的地址

实例:

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))```

也可以指定参数:

name = "Eric"age= 74

"Hello, %(name)s. You are %(age)s." % (name, age)

2. str.format格式

  • str.format()从Python2.6开始引入替换字段使用{}标记

** 实例

"Hello, {}. You are {}.".format(name, age) #输出结果:'Hello, Eric. You are 74.'

  • 可以通过引用其索引来以任何顺序引用变量:

"Hello, {1}. You are {0}-{0}.".format(age, name)#输出结果:'Hello, Eric. You are 74-74.'

3.f-strings

  • f-Strings是在Python 3.6开始加入标准库。也称为“格式化字符串文字”,F字符串是开头有一个f的字符串文字,以及包含表达式的大括号将被其值替换。

name = "Eric"age= 74f"Hello, {name}. You are {age}."

#输出结果:'Hello, Eric. You are 74.'

进阶用法

1. %格式化

    1. %()type

字符串格式控制%[(name)][flag][width][.][precision]type

name:可为空,数字(占位),命名(传递参数名,不能以数字开头)以字典格式映射格式化,其为键名

flag:标记格式限定符号,包含+-#和0,+表示右对齐(会显示正负号),-左对齐,前面默认为填充空格(即默认右对齐),0表示填充0,#表示八进制时前面补充0,16进制数填充0x,二进制填充0b

width:宽度(最短长度,包含小数点,小于width时会填充)

precision:小数点后的位数,与C相同

type:输入格式类型,请看上面

info="I am %(name)s , %(age)d years old ." %{"name":"Lucy","age":8}

#输出 :I am Lucy , 8 years old

2. str.format格式化

    1. 指定参数格式化

d ='{{"userId":{userId},"teamSteps":86304529}}'.format(userId=userId)

    1. 字典参数解包

    d ='{{"userId":{userId},"teamSteps":86304529}}'.format(**params)

特殊场景用法

1.json字符串中替换(字符串中包含非标记符号的{})

  • a. 使用%格式化

    正常使用即可

  • b. 使用str.format或者f-strings格式化

    需要对非位置符的{}转义成{{}}

2.带%字符串

  • (1).使用%格式化时,需对非位置符的%转义为%% "sas%%dsjksajd%(userId)sttiti" % params

#输出结果:sas%dsjksajd123ttiti *(2).使用str.format或者f-strings格式化,不需要转义%

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值