文章目录

  • ​​1.占位符​​
  • ​​2.format方法​​

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