字符串的 format 方法|学习笔记

简介: 快速学习字符串的 format 方法

开发者学堂课程【Python 入门 2020年版字符串的 format 方法】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/639/detail/10291


字符串的 format 方法


内容介绍

一、概念

二、字段名

三、举例说明

 

一、概念:

str.format()方法通过字符串中的大括号来识别替换字段 replacement field,从而完成字符串的格式化。

替换字段由字段名 field name 和转换字段 conversion field 以及格式说明符 format specifier 组成,即一般形式为{字段名!转换字段:格式说明符}。

字段名分为简单字段名 simple field name 和复合字段名 compound field name。而转换字段和格式说明符都是可选的。

 

二、字段名

form 的完整格式是{字段名!转换字符:格式说明符}。其中字段名师必须的,而且可以分为简单字段名和复合字段名。

1.简单字段名

简单字段名由三中写法:

l 省略字段名:0

l 使用非负十进制整数{0}

l 变量名{(name}

 

三、举例说明

代码(05-字符串 format方法的使用)

1.{}

format的使用更多,因为不需要考虑输出的是%d还是%S;在此一一对应填充 format()里的内容至{ }中,输出结果为:大家好,我是张三,我今年18岁了

#{  }也可以表示进行占位,

#{  }什么都不写,会自动读取后面的内容,一一对应填充

x ='大家好,我是{ },我今年{ }岁了'.format('张三',18)

printf(x)

l 输出结果:

大家好,我是张三,我今年18岁了

2.{数字}

#{ 数字 }根据数字的顺序来进行填入。数字从0开始

y ='大家好,我是{1},我今年{0}岁了'.format(20,"jerry ')

//效果就是,当遇到第一个括号,其中我是{1}即对应 format之后第1个值的 jerry,今年{0}岁对应着第0个值20。

printf(y)

l 输出结果:

大家好,我是 jerry,我今年20岁了

3.{变量名}

#{ 变量名 }    

z ='大家好,我是{name} ,我今年{age)岁了,我来自{addr} '.format(age=18,name= 'jack ',addr= '襄阳')

printf(z)

l 输出结果:

大家好,我是 jack,我今年18岁了,我来自襄阳

4.{数字}和{变量}同时使用

#混合使用{数字}{变量} //一般不做使用,过于麻烦。

a = '大家好,我是{name},我今年{1}岁了,我来自{0}'.format('泰国',23,name='tony')

//在此为一一对应的关系,读到 name对应着 tony,1对应着值23,0对应着值泰国。

//需要注意的是,变量=?要写在最后面,写在前面就会报错。

print(a)

l 输出结果:

大家好,我是 tony ,我今年23岁了,我来自泰国

5.{}和{数字}不可混用

因为{}表示按一一填入,但是有数字就会打乱顺序。

#{}什么都不写 {数字}两者不能混合使用

6.向{}填入另一列表元素

l 普通版

定义一个列表 d此时要将 d的第0个,第1个,第2个和第3个一个个填充至 b,分别表示姓名,年龄,地址和身高。利用下标的形式。

d=['zhangsan',18,'上海",180]

b ='大家好,我是{},我今年{}岁了,我来自{},身高{}cm'.format(d[0],d[1],d[2],d[3])

print(b)

l 进阶版

//如果是一个列表时,可以进行拆包,写成*d,表示把一个列表,拆成多个数据,并一一对应的放入。

d=['zhangsan',18,'上海",180]

b ='大家好,我是{},我今年{}岁了,我来自{},身高{}cm'.format(*d)

print(b)

l 输出结果(普通版和进阶版写法输出结果一致)

大家好,我是 zhangsan,我今年18岁了,我来自上海,身高180cm

7. 向{}插入字典元素

//假设插入数据在字典中,要注意传送字典数据要一一对应,上方写的是 name,之后也要写 name。填写好对应变量,再在 format()内加上**info即可。

info = { ' name ' : 'chris ' , 'age': 23,' addr ': '北京', 'height ' : 190}

c = '大家好,我是{name},我今年{age}岁了,我来自{addr} ,身高{height}cm'.format(**info)

//下方填写我是 { name },我来自{age}的顺序乱了没有关系,因为它是参照{}中的变量去上面的字典中寻找对应的变量名。输出结果依然是对应的年龄和姓名。

print(c)

输出结果:

大家好,我是 chris,我今年23岁了,我来自北京,身高190cm

 

相关文章
|
6月前
|
机器学习/深度学习 Python
关于python字符串format的一些花式用法_format带加号
关于python字符串format的一些花式用法_format带加号
|
6月前
|
Python
Python字符串和字节不要混淆str.format()和bytes.format()
【5月更文挑战第6天】Python字符串和字节不要混淆str.format()和bytes.format()
40 1
C++11新特性探索:原始字符串字面值(raw string literal)
原始字符串字面值(raw string literal)是C++11引入的新特性。
140 0
|
索引 Python
format格式化输出语法详解
hello,这里是Token_w的文章,主要讲解python的基础学习,希望对大家有所帮助 整理不易,感觉还不错的可以点赞收藏评论支持,感谢!
103 0
|
SQL
format函数
format函数
141 0
|
Java
JAVA字符串格式化-String.format()的使用
JAVA字符串格式化-String.format()的使用
147 0
JAVA字符串格式化-String.format()的使用
String.format()字符串常规类型格式化!
String.format()字符串常规类型格式化的两种重载方式
338 0
【转载】format的用法。
以前没太注意这个用法,到网上找一个,copy过来,方便以后的查看。   "I see stuff like {0,-8:G2} passed in as a format string. What exactly does that do?" -- Very Confused String Fo...
912 0