ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

format的详细讲解

2022-09-14 20:00:08  阅读:233  来源: 互联网

标签:name format 关键字 参数 详细 讲解 print 数字


format的详细讲解

一.基础用法

  1. format术语说明
    fotmat作为Python的的格式字符串函数,主要通过字符串中的花括号{},来识别替换字段,从而完成字符串的格式化。
print("我叫{},今年{}岁。".format("小蜜",18))
#我叫小蜜,今年18岁。
#花括号的个数决定了,参数的个数。但是花括号的个数可以少于参数。
print("我喜欢{}和{}"format("乒乓球","羽毛球","敲代码"))
#我喜欢乒乓球和羽毛球。
"""
花括号多于参数的个数,则会报错。
"""

2.通过数字参数传入位置参数
传入参数注意以下事项

  • 数字必须是大于0的整数
  • 带数字的替换字段可以重复
  • 数字形式的简单字段名相当于把字段当成一个序列形式。通过索引的形式进行一一取值
#通过数字索引传入参数
print("名字{0},家住{1}").format("橙留香","水果村")
#带数字的替换1字段可以重复

```python
print("我爱{0}。\n他爱{1}。\n{0}爱{1}".format("灰太狼","红太狼")
"""
我爱灰太狼
他爱红太狼
灰太狼爱红太狼
"""

"""
数字形式的简单字段名相当于把字段当成一个序列形式。通过索引的形式进行一一取值
"""
print("小明喜欢{1},{2}和{0}".foramt("海绵宝宝","机器猫","海贼王","火影忍者","龙珠"))
#小明喜欢机器猫,海贼王,和海绵宝宝

3.用关键字传递

print("我今年{age}岁,我在读{college}".format(age=18","college="大学"))
#我今年18岁,我今年20岁
#关键字可以随便放置
print("我今年{age}岁,我在读{college}".format("college="大学",age=18"))

4.关键字和数字的混合使用
注意以下事项

  • 数字和关键字段可以混合使用传递参数
  • 关键字参数必须位于位置参数之后。
  • 混合使用时,可以省略数字
  • 省略字段名{}不能和数字形式的字段名同时使用
#混合使用传递参数
print("我是要当{0},他是要当{1},这个世界只有一个{truth}"
.format("海贼王","火影",truth="真理"))
#我要当海贼王,他要当火影,这个世界只有一个真理

#数字也可以省略
print("我是要当{},他是要当{},这个世界只有一个{truth}"
.format("海贼王","火影",truth="真理"))
#如果关建字位于位置参数之前则会发生
'''
SyntaxError: unexpected indent
![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20210321105132614.png#pic_center)
'''

5.使用元组和字典传参

  • format可以使用元组和字典传参,俩者可以混合使用
  • 多种混合使用的时候。位置参数要在关键字参数前面,元组要在字典前面
a=["鸣人","火影","雏田"]
print("我是{},我是要当{}的男人".format(*a))
"""
我是鸣人,我是要当火影的男人
"""
print("我是{1},我是要当{2}的男人".format(*a))

#使用字典传参
v={"name":"孙悟空","skill":"龟派气功"}
print("我是{name},我的绝招是{skill}".format(**v))
"""
我是孙悟空,我的绝招是龟派气功
"""
#同时使用元组和字典传参
name=["卡卡罗特","界王拳"]
names={"nickname":"孙君","skill":"元气弹"}
print("我是{0},我的绝招是{skill}".format(*name,**names))
print("我是{nickname},我的绝招是{1}".format(*name,**names))

#同时使用位置参数,元组,关键字参数,字典传参。
#注意位置参数要在关键数参数前面
a=["卡卡罗特"]
dic={"name":"超级赛亚人"}
print("我是{0},我也是{0},因为我是正义的战士,所以我变成了{name}".
format("卡卡罗特",*a,**dic))
"""
我是卡卡罗特,是孙悟空,但不可改变的是我是正义的战士。
"""

二.升华讲解

2.1复合字段名的使用
  • format使用数字和变量名俩种形式,这就是复合字段
  • 复合字段名支持两种操作符
    - [] 方括号
    - . 点号
2.2 点号的使用
class Person:
	def __int__(self,name,addr):
		self.name=name
		self.addr=addr
p=Person("孙悟空","包子山")
#点号用法。传递位置参数。
print("我是{0.name},家在{0.addr}".format(p))
#当只有一个字段的时候,就可以省略数字
print("我是{.name}}".format(p))
#试一下传递文件对象的属性
f=open("out.txt","w")
print("文件名为:"{.name}.format(f))
#传递关键字
print("我是{p.name},家在{p.addr}".format(p=p))
print("我是{girl.name},家在{girl.addr}".format(girl=p))
"""
我是孙悟空,家在包子山。
我是孙悟空,家在包子山。
"""

2.4方括号的用法

mylist=["陈道明","www.chendaoming.cc"]
print("网站名:{0[0],地址{0[1]}}".format(my_list))
  • 1
  • 2

2.5对齐字符串

  • ^ 剧中 后面带宽度
  • < 左对齐 后面带宽度
  • 右对齐 后面带宽度

  • : 后面带填充的字符,只能是一个字符,不指定则是默认用空格填充
print("{:>5}".format(1))#宽度为5,右对齐
print(":>5".format(10))
print(":>5".format(100))
print(":>5".format(1000))
输出结果为	
	1	 
	10
	100
	1000		 

在这里插入图片描述

#正号表示正数
print("{:+2f}".format(3.14))
#+3.140000
print("{:-2f}".format(-1))
#-1.000000
#不带小数的
print("{:.0f}".format(3.23123131))
#3
#以逗号为分隔符的
print("{:,}".format(100000))
#100,000
#表示一个百份比
print("{:.2%}".format(0.25))
#25%

标签:name,format,关键字,参数,详细,讲解,print,数字
来源: https://www.cnblogs.com/testcodell/p/16694340.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有