(6-07)占位符和fromat方法

1.占位符

占位符 描述 占位符 描述
%d或%i 有符号整型十进制数 %o 有符号八进制数
%x 有符号十六进制数(字母小写) %X 有符号十六进制书(字母大写)
%e 指数格式的浮点数(字母小写) %E 指数格式的浮点数(字母大写)
%f或%F 有符号浮点型十进制数 %g 浮点数(根据数指大小采用%e或%f)
%G 浮点数(根据始值大小采用%E或%f) %c 单个字符(整型或单个字符的字符串)
%r 字符串(使用repr函数进行对象转换) %s 字符串(使用str函数进行对象转换)
%a 字符串(使用ascii函数进行对象转换) %% 表示一个百分号
  • eg:
n=20
f=35.67
print('n的十进制形式:%d,八进制形式:%o,十六进制形式:%x'%(n,n,n))
print('f的十进制形式:%f,指数形式:%e'%(f,f))

结果:
n的十进制形式:20,八进制形式:24,十六进制形式:14
f的十进制形式:35.670000,指数形式:3.567000e+01
e表示10的几次幂

2.format方法

  • 使用字符串中的format方法也可以进行字符串的格式化操作,其语法格式为:
str.format(*args, **kwargs)

其中,str是用于格式化的字符串,可以包含由大括号{}括起来的替换字段。

每个替换字段可以是位置参数的数字索引,也可以是关键字参数的名称。

format方法返回的是格式化的字符串副本(即通过format方法调用并不会改变str的值)。

**kwargs:表示不定长参数
  • eg:
tr1='{0}的计算机成绩是{1},{0}的数学成绩是{2}'  #{}中的替换字段是位置参数的数字索引
str2='{name}的计算机成绩是{cs},{name}的数学成绩是{ms}'  #替换字段是关键字参数的名称


print(str1.format('李晓明',90,85))# '李晓明'替换{0},90替换{1},85替换{2}
print(str2.format(cs=90,ms=85,name='李晓明'))##关键字写对,顺序不重要

结果:
李晓明的计算机成绩是90,李晓明的数学成绩是85
李晓明的计算机成绩是90,李晓明的数学成绩是85
  • 另外,在format方法格式化字符串时,字符串的替换字段中还可以包含对实参属性的访问。
为新创建对象的name,cs属性做初始化,即:用传入的参数来初始化
这两个属性的值
class Student: #定义Student类
	def __init__(self,name,cs): #定义构造方法
	self.name=name
	self.cs=cs
	
s=Student('李晓明',90) ##保存至变量s中
str1='{0.name}的计算机成绩是{0.cs}' #{}中的替换字段是位    #置参数的数字索引
str2='{stu.name}的计算机成绩是{stu.cs}' #替换字段是关键字   #参数的名称

## {0.name}和{stu.name}会被替换成:s.name
## {0.cs}和{stu.cs}会被替换成:s.cs

print(str1.format(s))## s.name和s.cs
print(str2.format(stu=s))

结果:
李晓明的计算机成绩是90
李晓明的计算机成绩是90
发布了510 篇原创文章 · 获赞 134 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/u011436427/article/details/103847653