Python3学习笔记(格式化字符串)

、格式化字符串是指先制定一- 个模板,在这个模板中预留几个空位,然后再根据需要填上相应的内容。这些空位需要通过指定的符号标记( 也称为占位符),而这些符号还不会显示出来。在Python中,格式化字符串有以下两种方法:
**1.使用“%”操作符
语法格式如下:

"%[-][+][0][m][ .n]格式化字符"%exp

参数说明:

  • -:可选参数,用于指定左对齐,正数前方无符号,负数前面加负号。
  • +:可选参数,用于指定右对齐,正数前方加正号,负数前方加负号。
  • 0:可选参数,表示右对齐,正数前方无符号,负数前方加负号,用0填充空白处(一般与m参数一起使用)。
  • m:可选参数,表示占有宽度。
  • .n:可选参数,表示小数点后保留的位数。
  • 格式化字符:用于指定类型。
  • exp:要转换的项。如果要指定的项有多个,需要通过元组的形式进行指定,但不能使用列表。
    常用的格式化字符
格式化字符说明
%s字符串(采用str()显示)
%c单个字符
%d或者%i十进制整数
%x十六进制整数
%f或者%F浮点数
%r字符串(采用repr()显示)
%o八进制整数
%e指数(基底写为e)
%E指数(基底写为E)
%%字符%

例如:

my_name = 'Zed A. Shaw' 
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 # lbs
my_eyes = 'Blue' 
my_teeth = 'White' 
my_hair = 'Brown' 

print ("Let's talk about %s." % my_name)
print ("He's %d inches tall." % my_height)
print ("He's %d pounds heavy." % my_weight)
print ("Actually that's not too heavy.")
print ("He's got %s eyes and %s hair." % (my_eyes, my_hair))
print ("His teeth are usually %s depending on the coffee." % my_teeth)
# this line is tricky, try to get it exactly right
print("If I add %d, %d, and %d I get %d." % 
    (my_age, my_height, my_weight, my_age + my_height + my_weight))

输出结果:
在这里插入图片描述
2.使用字符串对象的format()方法
、 字符串对象提供了foma()方法用于进行字符串格式化,语法格式如下:

str. format(args)

参数说明:

  • str:用于指定字符串的显示样式(即模板)。
  • args:用于指定要转换的项,如果有多项,则用逗号进行分隔。

下面重点介绍创建模板。在创建模板时,需要使用“{}”和“.”指定占位符,语法格式如下:

{[index][:[[fil1]align][sign][#][width][ .precision][type]]}

参数说明:

  • index:可选参数,用于指定要设置格式的对象在参数列表中的索引位置,索引值从0开始,如果省略,则根据数值的先后顺序自动分配。
  • fill:可选参数, 用于指定空白处填充的字符。
  • align:可选参数,用于指定对齐方式(值为“<”时表示内容左对齐;值为“>”时表示内容右对齐:值为“=”时表示内容右对齐,将符号放在填充内容的最左侧,且只对数字类型有效;值为“^”时表示内容居中),需要配合width一起使用。
  • sign:可选参数,用于指定有无符号数(值为“+”表示正数加正号,负数加负号;值为”表示正数不变:负数加负号,值为空格表示正数加空格,负数加负号)。
  • #:可选参数,对于二进制数、八进制数和十六进制数,如果加上#,表示会显示0/b/0o/0x前缀,否则不显示前缀。
  • width:可选参数,用于指定所占宽度。
  • .precision:可选参数,用于指定保留的小数位数。
  • type :可选参数,用于指定类型。

format()方法常用的格式化字符

格式化字符说明
s对字符串类型格式化
d十进制整数
c将十进制整数自动转换成对应的Unicode字符
e或者E转换为科学计数法表示再格式化
g或者G自动在e和f或者E和F中切换
b将十进制整数自动转换成二进制表示再格式化
o将十进制整数自动转换成八进制表示再格式化
x或者X将十进制整数自动转换成十六进制表示再格式化
f或者F转换为浮点数(默认小数点后保留6位)再格式化
%显示百分比(默认显示小数点后6位)

例如:

template = "编号:{:0>9s}\t公司名称:{:s}\t官网:http://www.{:s}.com"
contest = template.format("1","百度","baidu")
print(contest)

输出结果:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值